gnu-social/doc/roadmap

233 lines
6.0 KiB
Plaintext
Raw Normal View History

Roadmap
-------
This is a roadmap of tasks for different versions of the
[Laconica](http://laconi.ca/) software. It's meant to help answer the
question, "Is Laconica ever going to have such-and-such a feature?" or
"When will Laconica do such-and-such?"
Release 0.1
-----------
This was an internal milestone release, mostly for developing the core
functionality.
+ login
+ register
+ settings
+ upload avatar
+ change password
+ settings menu
+ disallow login if user is logged in
+ disallow register if user is logged in
+ common_current_user()
+ common_logged_in()
+ session variable for login
+ post notice
+ logout
+ subscribe
+ unsubscribe
+ subscribe links on profile
+ header menu
+ footer menu
+ disallow direct to PHP files
+ common_local_url()
+ configuration for DB_DataObject
+ date formatting
+ new notice redirects to notice page
+ date in shown notice links to notice page
+ common_redirect()
+ configuration system ($config)
Release 0.2
-----------
Another internal milestone. Bumped up from cruddy caveman HTML to a
borrowed design from [OSWD](http://www.oswd.org/), added a lot of RSS
generation, and more careful form validation.
+ design from Open Source Web Designs
+ add H1 to each page
+ add H2 for each page section
+ default to public stream
+ default avatar
+ default HTML type
+ set Content-Type
+ show current values in profile settings
+ save profile URL in profilesettings
+ save profile URL on registration
+ require valid nicknames
+ reject empty notices
+ validate registration form results
+ validate profilesettings form results
+ validate newnotice form results
+ remove validation code from classes
+ use only canonical usernames
+ fix layout of textarea
+ make notices into "big links"
+ RSS 1.0 feeds of a user's notices
+ RSS 1.0 feeds of a user's notices + friends
+ RSS 1.0 dump of a user's notices
+ RSS 1.0 feed of all public notices
+ deal with PHP quotes escaping
+ source link in footer menu
+ public stream link in top menu
+ dump, fix, undump database
Release 0.3
-----------
First public release (theoretically). Added distributed subscriptions,
"fancy" URLs, and a new graphic design for stoi.ca.
+ YADIS document link on showstream
+ YADIS document
+ subscribe remote
+ add subscriber remote
+ server side of user authorization
+ server side of request token
+ server side of access token
+ OAuth store
+ log of consumers who ask for access
+ receive remote notice
+ send remote notice
+ receive remote profile update
+ send remote profile update
+ subscribe form for not-logged-in users on showstream
+ pretty URLs
+ doc action
+ about doc
+ help doc
- FAQ doc
+ privacy doc
+ source doc
+ roadmap doc
- contact doc
- add a way to stick variables into documents
+ FOAF document for user
+ license in RSS feeds
+ TOS checkbox on register
+ registration instructions
+ login instructions
+ profile settings instructions
+ avatar instructions
+ password change instructions
+ fix spacing on notices
+ fix spacing in profile
- limit entry in textarea to 140 chars
+ add a next page link to showstream
+ add a next page link to public
+ add a next page link to all
- AGPL notification
- Check licenses of all libraries for compatibility
+ @ messages
+ Automatically linkify URLs in notices
+ themes
+ theme per site
+ only local notices in public stream
+ only local notices in public RSS
+ graphic refresh on all
+ graphic refresh on avatar
+ graphic refresh on doc
+ graphic refresh on login
+ graphic refresh on newnotice
+ graphic refresh on password
+ graphic refresh on profilesettings
+ graphic refresh on public
+ graphic refresh on register
- graphic refresh on remotesubscribe
+ graphic refresh on shownotice
+ graphic refresh on showstream
+ graphic refresh on subscribed
+ graphic refresh on subscriptions
+ graphic refresh on userauthorization
- update default theme to use new, more semantic, HTML
- subscribe/unsubscribe on subscriptions page
- subscribe/unsubscribe on subscribed page
+ correct use of views menu in settings
+ correct use of views menu in streams
- INSTALL file
+ content negotiation for content type
Release 0.4
-----------
- jQuery for as much as possible
- microid for profile page
- format times per user
- timezone preferences in Profile settings
- email notification on subscriptions
- content negotiation for interface language
- user preference for interface language
- gettext
- tinyurl-ification of URLs
- set Last-Modified
- XML sitemap generation
- email confirmation for registration
- email options
- change cookie handling for anon users to be more cache-friendly
- content negotiation for encoding
- If-Modified-Since support
- Vary
- site logo
- check license compatibility for remote subscribe
- optional FOAF URL in openmicroblogging exchange
Release 0.5
-----------
- content negotiation for charset (iconv?)
- license per notice
- use only canonical email addresses
- allow mixed-case usernames
- allow non-latin usernames
- store canonical username for comparison and fetch
- theme per profile
- email newsletter
- RDF dump of entire site
- delete a notice
- plugins and hooks and other extensibility
- RDFa for stream pages
- RDFa for subscriber pages
- RDFa for subscribed pages
- # tags
- L: location
- hreviews
- stay logged in between sessions
- use RSS as a subscription
- license per attachment
- forward notices to Jabber
- receive notices from Jabber
Release 0.6
-----------
- URL notices
- image notices
- video notices
- audio notices
- forward notices to other IM
- forward notices to mobile phone
- receive notices from other IM
- receive notices from mobile phone
- machine tags
Release 1.0
-----------
- OAuth for third-party tools (desktop, other sites)
- Twitter-compatible API
- Pownce-compatible API
- include twitter subscriptions (push and pull)
- include Pownce subscriptions (push and pull)
- privacy
- Wrap DB_DataObject with memcached caching layer
- login throttle to prevent brute-force attacks
- form token in login to prevent XSS
Post-1.0
--------
- Atom Publishing Protocol
- "Universal" public feed
- global registry (LDAP at openmicroblogging.net, maybe?)