Work In Progress

UNICEF Dev server
Task Lists

The Plan


(3) New sidebar: See below

(1) Remove advanced options Remove the following elements: inbox, requests, profile. (2) Simplify the dashboard Remove everything except for a feed of 'recent changes'.|


(2) add new left-side navigation bar.
The left-side navigation bar will have different content depending on what context
you are in:

  • me: displays links related to the user’s own content or actions, such as the user’s tasks and the user’s dashboard.
  • group: navigation for the group, such as membership, searching, settings, etc.
  • page: the navigation bar for a page will link to related pages and related tags.
    In the case of UNICEF, there will be no groups initially, and probably no navigation sidebar for pages.


  • Should there be a left-side navigation bar for pages? If so, what will it have? It should not have links that are specific to a particular user, otherwise it will be difficult to cache the pages and it will break the context rule of crabgrass navigation. To keep the user’s navigation context when you were viewing a page might make a lot of sense for some applications, but this will be a significant departure from how crabgrass currently works and it might be very hard to then go back and bring in more crabgrass functions at a later time.
    • (daniel) My opinion is that no, the page side bar should remain on the right side. This visually distinguishes it from the navigation bar, and lets you know immediately that you are on a “page”. I think sidebar consistency is actually counter to what we want in this instance, since the two sidebars serve very different functions.
(1) remove top level drop down menus. These menus will be replaced with links to:
  • me: like the me tab now, but no drop down.
  • people: a directory of users.
  • logout: byebye
    The navigation sidebar for ‘me’ will have the following links:
  • dashboard
  • search
  • tasks
  • new discussion
  • new task list
  • new document|


3) Remove advanced options (almost done, except for back page add to inbox)
This includes inbox related (pending, star, add to inbox, notify), and group related (move to…), and tagging.

(4) Change page access UI

  • Create an easy way to add people to a page. This could be called ‘share’, and perhaps it would be expanded by default (this will not work so well with more than a few users).
  • There will be no way to send a text message with this ‘share’, like with ‘notify’, because there will be no inbox.
  • Instead of auto-complete or pulldown menus, you will click on checkboxes to add people to the page.
(1) Remove page types Leave only discussion, task list, and document. There will be links to create these page types that are easy to get to. (2) Change page creation page Maybe remove this step entirely? Otherwise: remove group information, replace with user checkboxes, remove tags.|


Everything must look good in IE
Specifically IE 6.
ie4linux to the rescue.

The document page type has a really ugly UI.
It should have a preview area and a big link to download the document, and a visible history of when the document was changed.
This can be done by creating a subclass of Tool::Asset for Tool::Document that has special layout for word or openoffice documents.

New Features

File folders / hierarchal structure
Everyone expects documents to be inside folders.

Readable previews of uploaded document
When you upload a word doc, a preview jpg is generated that shows the first and second pages (as rendered by abiword). This preview is displayed on the

Indexing of document contents
With abiword we can convert the word document to a text file, and then save the text file to the table PageIndex, which will get indexed by sphinx.

Race condition prevention
Some way to prevent a user from clobbering the changes of another user by uploading a replacement .doc that is older than the one previously uploaded.
The simple solution is to allow pages to be locked by a user.

URL Access
Like google docs, you should be able to ‘share’ the page with email addresses. They get an email with an obscure unique url that they can use to view the page and download the word doc.
If they have an account, they can login and then their user is added to the access permissions for the page and they don’t have to use the obscure url anymore.

A revision message.
When you upload a new copy of the document, you should be able to include a little note about what you changed. This way, the document page can include a list of dates and change notes so you get a quick view of the document’s history without needing to download it.

Maybe this can be extracted from the word document? Does word let you give a little note to a version?


Can we use 'share' instead of 'notify..' and have this action expanded by default?

Aha! These are different ideas, not just different words. Currently, you can only notify people who already have access. Instead, I think the desire here is for an easy way to add access, which is a really good idea. Without an inbox, I don’t know where a message (like is possible in ‘notify’) would be viewed. Maybe when you visit the page.

Change behavior of 'make page public' (maybe language too -- 'publish page'?). publicly flagged pages are shared with the entire group, not the internet-at-large

The idea of public is very core to the data model of crabgrass, but in this case nothing is public, so I think we should just keep public false and hide the checkbox. What is the difference between ‘share’ and ‘publish’? Basically, it seems that ‘publish’ is ‘share’ but for a group? (ie, the group everyone is part of?).

My impulse is to not do anything that will make introducing the idea of groups awkward. For the way I have seen people use crabgrass, it has been impossible to do anything productive without them, but I realize this is a different setup. Nonetheless, if you ever have more than a few people using it, then groups will be essential.

Maybe ‘publish’ can be ‘share’ with a special group: the group of all registered users.

Should there be messaging between people. or what should a persons side bar nav look like?

currently it has add to my contacts, send, and task. it should probably only have the task link.


Implement left-side navigation box a la design comps

I don’t think that we want all the links that are in those mock-ups

Simplify top navigation bar (perhaps include only pages, tasks, settings, search, and logout?)

I don’t want to burn any bridges. The top level navigation is intended to be for things that are global. It is true that in the simplified crabgrass, there are perhaps nothing global. But if we want to later add groups or a directory of people or regions then it will be very useful to have a place that is visually above everything else to put this global scope links.

Because tasks and settings are both not global, but are tightly related the the context of the particular user or group, then I would rather not put this as top level links.

Hide/remove inbox, me, people, groups, chat, requests

It is very useful to be able to find a page by first going to the people tab. Sometimes you can’t remember much about a page, but you remember that a particular person was working on it.

email notifications

When, precisely, should a user get an email notification and what should be included in the notification?


  • When a page is first ‘shared’ with you.
  • When one of your pages is changed.
  • Every time a comment is added.
  • The email could simply include a link to the page in question, or it could include much more.
note is displayed on interface to discourage future revisions of public documents (file page only)

I don’t understand what this means.


Our List
UNICEF Dev server

More Bluesky Features
  • a pull down or link to most recent pages viewed or worked on. i would love this feature.