Product Plan/Archive

Some older stuff.

See also Product Plan

0.7.x
Jan 2009 - May 2009

As of 0.7.4 release (Jun 10-11?), 0.7.x dev is done. We may, based on demand, backport security updates to 0.7.x branch as needed, but new features and bug fixes won't go in this branch.

Completed

 * Support for the Twitter search API
 * Offline queuing for inbox updates
 * Offline queuing for memcached invalidation
 * Offline queuing for Facebook updates
 * Offline queuing for Twitter bridge
 * Make the Javascript badge production-ready, and give instructions on how to use it.

0.8.x
Jun 2009 - Aug 2009

Todo

 * PEAR::Auth for multiple authentication backends (like LDAP)

Completed

 * an API for groups
 * Use Twitter's OAuth API in the Twitter bridge
 * Support for a hosted service -- setting up a new Laconica instance, editing the instance's name and theme and so forth. The actual hosted-service code will be AGPL'd, but it may or may not be part of the Laconica package (it just might not fit in with the rest of the code, or make sense).
 * Multimedia sharing. This was supposed to be part of 0.7.x, but got jettisoned. This will include an optional file-upload in the Web interface, in-browser video and audio recording, posting with email attachments, and an extension to the API for multimedia.
 * Support for "real" queuing systems -- our offline queuing system is based on a homebrewed system that's pretty inefficient. I'd like to abstract out queues and make at least two implementations: Homebrew, and STOMP. This would also be a good time to make a more hierarchical queue system, and support adding things besides notices (like profile updates, dms, subscription notification, nudges) into the queue.
 * Statistics. As mentioned in a previous email.
 * Profile page theming. You can set the background and colours on your profile page and other "personal tab set" pages.
 * Group page theming. Ditto, but for groups.
 * Initial support for hooks. The hooks system will be set up and some simple hooks will be enabled.
 * More themes. Ideally I'd like to have 3-5 themes as part of our tarball. Ideally we'd grab some free content layouts from OSWD (http://oswd.org/), adapt them to the Laconica layout, and include them.
 * Conversations. Each notice that is a reply, or that has been replied to, would include a link to a conversation page, which shows the tree of notices that are in reply to each other (up to a "root" that is not in reply to anything). You may be able to post replies in that page.
 * Bi-directional Twitter bridge (read your friends' Tweets)
 * Facebook Connect plugin
 * Group block (block a user from joining or posting to a group). (requires db update)
 * Group aliases -- "sfo" and "sanfrancisco" and "frisco" are the same group. (requires db update)
 * Make someone a group admin.

Completed

 * Twitter admin panel (set key) [zach]
 * Facebook admin panel (set key or whatever) [zach]
 * Log in and register using Twitter Account [?]
 * patch, needs review [zach]
 * Blacklist admin panel [evan]
 * OStatus - key req for release
 * Remote subscribe to groups.
 * Support for OAuth in the Twitter-like API [Zach, Sarven]
 * Rebuild i18n system (translations): Use language codes like &quot;fr&quot; instead of &quot;fr_FR&quot;; Only use national lang codes
 * Refactor API into individual actions, ~ one action per API method
 * Cache hinting the API: If-Modified-Since, Etags
 * API: Make statuses/home_timeline return the same thing as statuses/friends_timeline to mimic Twitter's retweet API until we figure out how to handle redents via API
 *  Make friendship API methods use helper functions in lib/subs.php
 * Updating your status in Facebook updates your Identica status (2-way bridge) [Not able to do]
 * Updating your status in Twitter updates your Identica status (2-way bridge)
 * Allow notices longer than 140 symbols to be posted via API [Zach]
 * Media upload in the API [Zach]
 * Finish API for accounts [Zach]
 * Add Twitter-like location stuff to the API [Zach]
 * Role-based authorization. Standard roles: admin (config, setup), moderator (community + content), registered user, anonymous user
 * Automate i18n updates from pootle into Git [brion]
 * Plugin database interface: plugins can create, delete, alter tables, check for existence of tables and fields. (compare Drupal, WordPress?)
 * flag inappropriate content. This is spam/offensive/copyright violation. (use flag profile instead) [evan]
 * flag inappropriate user. Spammer/porno/jerk/whatever. [evan]
 * Moderator can ban users, delete others' notices, ban users from pub timeline, etc. [evan]
 * Pluginization of Twitter
 * Pluginization of Facebook
 * Pluginization of URL Shorteners
 * Account deletion by admin
 * Mapping interface from LocationPlan [evan]
 * Admin panel for configuration (settings by panel)
 * Mobile Web interface
 * Real-time popup interface
 * RSSCloud Plugin [Zach]
 * Make the bookmarklet not look horrendous [Sarven]
 * Fix real-time popup interface so it doesn't look horrible [Sarven]
 * Direct message using XHR [Sarven]
 * Retweet protocol
 * Rearchitect notice_inbox for efficient large site ops [evan]
 * daemon restructure for large site farm [Brion]
 * PuSH client [evan]
 * FeedSub?
 * Final daemon changes [brion]
 * oauth api [zach]
 * single user mode [evan]
 * defaults to author of reply_to notice, if there is one and nicknames match. [evan]
 * add "remote subscribe button" to personal timeline [csarven]
 * change "subscribe" to "confirm" on ostatussub [csarven]
 * Add Subscribe button to remote users on profile lists [csarven]
 * Make @example.com/user/name work [brion]
 * Twitter/Facebook settings overrides
 * Subscription interface "Subscribe to remote user" -> "[+] New" [csarven]
 * marked as "[+] Remote" for now
 * Moved profile subscribe button from content area to subscriptions mini list [csarven]
 * Remote subscribe button on usergroups page [csarven]
 * Remote subscribe button on group mini list [csarven]
 * Remote join button on group home page for not-logged-in users [csarven]
 * Better error reporting when entering a fake name (garbage@notadomain.biz) into the remote subscribe box [csarven]
 * Change title on "Authorize subscription" to something less scary. [csarven]


 * complete admin panels for status.net [zach]
 * Site notice admin panel
 * Move snapshot stuff to its own admin panel
 * installation adds a first user [zach]
 * owner, moderator, administrator
 * Manage user roles [brion]
 * UI for managing roles [csarven]
 * make username@status.net work [walkah]
 * change OStatusQueueHandler::userFeedForNotice to use AtomUserNoticeFeed instead of output buffering [brion]
 * change OStatusQueueHandler::userFeedForNotice to use AtomGroupNoticeFeed instead of output buffering [brion]
 * change user timeline atom to output one activity:subject and no activity:actors [zach]
 * Test for PuSH. [zach]
 * This is done, but the pushcallback is sending in a DOMElement to the parser instead of DOMElement for the feed. I had to put in a temp hack in Activity to convert because I can't find where it's doing that. --Zcopley 05:25, 4 March 2010 (UTC)


 * Make one-time-password URL visible on private sites (for site setup) [walkah]
 * Ensure posting to remote groups works [brion]
 * Remove PubSubHubBub plugin [brion]
 * Update script from 0.8.x to 0.9.0 [brion]
 * Coordinate with candrews [brion] (we can merge support for other feeds back into the ostatus hub impl if needed)
 * Turn on OStatus by default [evan]
 * Changelog in README
 * subscribe to update@status.net at install time [brion]
 * Update README
 * advertising [evan]