Goal: Visual customization and login module architecture.
Goal: Client to host syncing - the ability for one OPDB installation to
publish into another.
- XML description specification for people, projects, resources, vendors,
communities.
1. Browse.php Specs -
01-10-08 (1st rev)
- Create specification for new browse.php page.
- allow any to any linking
• add new elements to screenshot of
current UI in photoshop w/ annotations and list describing annotations
• also put into Google docs spec
sheet.
2. Supertab Specs -
01-010-07 (1st rev)
- specifies behaviors and look of supertabs (be very
specific)
- should grey-out and not link when there is no
content
- the current tab should not be a link
- should indicate (with a number) how many content
items are under the tab
- improve code architecture for tabs and super tabs can
be added/deleted
3. Phototab design -
01-12-07 (1st rev)
- Add photo library page. Super-tab.
- create the design for the Phototab (show what
phototab will look like w/ annotations and spec sheet)
- Allow unlimited photo library for project / entry
- Allow larger images 600 px wide.
4. Videotab design -
01-12-07 (1st rev)
- design how the videotab will look / represent
- allow integration with youtube (add/link your
youtube posted videos)
- accommodate You Tube videos and Quicktime or
other regular video format.
6. Object-Info Spec -
01-15-07 (1st rev)
- Clearly specify and QA info fields for each
object type.
- write a spec for what the different object types
will have in their info fields. (Meet with Michael)
7. Attachments Tab Design
- 01-15-07 (1st rev)
8. Supertab
Justification Spec - 01-15-07
- spec for supertabs appear on what object
types
- basically a definition of what justifies a
supertab
- point of spec is to be a design guideline if
they want to extend the system (supertabs should be a way to append
information that enhances a project)
9. Weblog tab design
- 01-15-07
-permalinks (link to page per entry, date being
the link to just that entry)
10. Consistency across object
types.
- Allow all objects to have the same
linking-tabs.
- Ensure visual and UI continuity across all
object types.
11. "Share with a friend" link on
browse.php 01-15-07
- Incorporate link into browse.php page
design - 01-10-08 (1st
rev)
- design the window/ interface for addressing
the recipient
- Design the format of the e-mail that gets
sent
---------------------------------------------------------------------------------------------
OPDB Version 1.4
Goal: Improve project edit/linking interfaces and workflow, add
ajaxy features to bring us up to par with web 2.0ness
Status: feature definition
Target release: June, 2008
Examples of websites we can
reference here:
Yahoo Small Businesses, mouse over suggestions are nice
Cork'd, adding a wine workflow does a good job of telling a story
about what is happening next
Flickr, how the view page is very similar to the edit page
LinkedIn, progress bar for a profile does a good job of
continually prompting you to improve a profile and even giving you
a grade
Features
thoughts
Must do a better job of telling the story of how to make a
successful entry.
Edit interface should be parallel to view interface, too formlike
now
Photo/Image Issues - (for v1.3 phototab?)
Object Info Spec
Photo interface integrated across all photo circumstances
- not presently in path for upload of weblog
photo.
Remember me logged in, cookie sessions keep user logged in even when
they leave the page (eval this with university ldap security_
Add 'report a bug/feature' to header next to log in, version
bar. Clicking this opens a quick form that submits a low
priority bug to mantis. This allows users an avenue to vent
frustration and we might get good data in aggregate (eg. large %
users filing bug with a
X)
Workflow
Improvements
Creating a project
Registering for new account workflow
Linking Tool / Workflow
- Linking to an
existing object.
- Linking to an object
you need to create because it doesn't exist.
- Appropriate
annotation features and suggestions for linking each object to
object.
General UI Improvements
- anchor tags for linking tabs, so when you
click "resources" tab you don't reload back to the top of the
page.
- make 'grayed-out' tabs more obvious (dave)
- use anchors for changing tabs (dave)
- instead of Ajax async
- prevents browser from
scrolling to the top
- can we make any given field optional? (dave)
- user may not care about some
data so don't force them
From edit interface, add '+' to each tab
suggesting you can add an item to that tab
Incorporate
applicable categories and items from feedback at bottom of
document.
- Edit feature: Allow saving of high res photos (admin can
enable/disable high-res).
- Revisit and improve workflow of photo upload process. Make sure
photo crop interface is used for weblog also.
- Details TBD based on feedback from universities.
- Consider adding CURL to help protect passwords. - ask dave for
more detail.
- Revisit UI for uploading and cropping photos.
- create photo tagging function in enhanced photo editor - this
will allow users to tag their images with links to other resources
and people associated with the project (think facebook but better)
-
Facebook App V1
Goal: A plugin for people's facebook homepages so they can link their
projects from facebook.
Status: Almost Complete.
Target release: January 10 , 2008.
Facebook App V2
Goal: A plugin for people's facebook homepages so they can link their
projects from facebook.
Status: not started.
1) Creating an InventionDB account from facebook should automatically
associate the facebook account.
- This was intended for when a
user adds the application but has no projects, and gets the default page
saying how to create an inventionDB account.
2) Link at top of iFrame for "view my friends projects"
Target release: un-set
----- 2008: we start getting clever with AJAX and Web 2.0
-----
OPDB Version 1.5
Goal: Enable super easy linking between objects in database, and super
easy object creation for resources that don't exist.
Status: not started.
Target release: February 28, 2008
- need interaction spec from UI team / planning.
- direct interaction enabled by ajax or comparable.
OPDB Version 1.6
Goal: Global search - ability for an OPDB installation to search and link
to objects in other OPDB installations. This compliments the
Client-to-Host syncing.
Status: not started.
Target release: March 30, 2008
- need interaction spec from UI team / planning.
- config_global_search.php file that allows an admin to specify
their search domain.
- direct interaction enabled by ajax or comparable.
- This should be a configuration option on the administrators control
panel (adding or removing OPDB search domains).
OPDB Version 1.7
Goal: Open source architecture: clean up code base and make robust for
open source community.
Status: not started.
Target release: April 30, 2008
- use css and <div> tags instead of tables for page layout.
- remove any unused files.
- apply style guidelines to every file.
- comment throughout.
OPDB Version 1.8
Goal: Open source architecture: Create documentation!
Target release: May 30, 2008
- Create documentation.
- Build out developer website section on openprojectDB.com
Unplaced,
Unprioritized, and User Feedback:
This
stuff to be reviewed, and scheduled or striked out (with
comment):
- Visual linking map -
01-17-07
- Reduction of features by config file (fred's list email)
- Redo user and admin control panels.
- integration with flicker (link photo libraries)
- Automated registration for OPDB Client to Host syncing.
- Automated registration for OPDB .zip file download that automatically
contains a serial number (unique identifier) certificate.
- Project Entry Goodness Meter.
- Redo layout code with <div> tags and remove dependency on tables.
- Wikipedia address on objects? OR maybe search wikipedia.
- Sign-in field does not auto-complete text.
- "unpublish" link should go to control panel anchor to section of
unpublished entries.
- Want to be able to enter projects that I haven't done - just to document
into database.
- Want to be able to enter people also.
- Wikipedia link field for entries.
- Want to be able to link projects to projects.
- Want to be able to link vendors to projects.
- Email this to a friend link.
- Address info on Vendor page.
- Show vendors added on home page.
- Login module for no login at all - everyone has access to everything,
like wikipedia.
- Anything can connect to anything.
- every entry type has list of specially recognized
connections (i.e. projects<->people w/authorship appear up top in
main info).
- Improve attachment handling
- to allow all different file types.
- allow upload of PDF, PNG, XLS, and other
attachments. In general allow for upload of any attachments that
aren't executables or scripts.
- Editing
- Edit tabs/pages should be structured analogous
to view pages.
- Edit link on browse.php should move to more
promiment place and should link to the edit tab for the supertab that
is showing (i.e if the page is currently showing the photo tab,
clicking edit should take the user to the edit-photos page).
- There should be a "access" tab for editing to
set who can see a project.
--
checkbox: show project on home page of OPDB installation (or by
name: projects.cs.uml.edu)
--
checkbox: show this project on Facebook (if user has facebook app
registered)
- Hope page new feed
- Updates on latest stuff.
- Make sure RSS works.
Unplaced Feedback from BJ at SJSU circa
September 2007:
Installation Instructions - (for
v1.8?)
-
We should consider including information either in the
Installation
Instructions or the
Release
Notes regarding the distributions we've tested installation
on (e.g., CentOS, MacOSX, etc.).
-
We should make it more clear how to get the download package
(i.e., the Subversion address), since not everyone who installs
OPDB will necessarily be familiar with Subversion. That is, we
should write something like: cd/wherever; svn co
svn://iaserver.macminicolo.net/openProjectDatabase/opdb.
-
We should consider including more examples, for example,
specific console commands or screenshots of console commands for
configuring MySQL for OPDB, since this process may not be so
easy for the typical "Solaris admin."
-
Within the
Installation
Instructions, it might be useful to list what each package (
e.g., Freetype, PHP-GDlib, etc.) does within OPDB and why it's
necessary ( e.g., the consequences of not installing these
packages). That way, installers who read directions (many don't)
will know why the packages are needed, without first installing
OPDB and watching it fail.
-
Although it's a no-brainer, we should remind the installers to
actually create a database (it's trivial, but the error
happens), since this obviously creates a problem, and list or
show screenshots of the error messages that occur if installers
omit this step.
-
It would be helpful to include screenshots (e.g., of console
commands) and VNC recorded videos within the
Installation
Instructions, and other installation documentation.
For example, if someone has a problem installing OPDB, they
could more easily email us saying that they performed the steps
shown in "Figure X" or "Video Y" and we could more easily help
them. A good VNC recorder is "
vnc2swf."
-
When reminding users to enable the config files, we should
mention that not enabling them could result in a blank screen,
or what other errors manifest themselves by omitting this step (
i.e., it's good to list the errors/results of failing to perform
a step within the installation procedures).
-
Email the
Installation
Instructions and other documents via URL, whenever possible,
and refrain from sending files created/saved in Windows Vista
(e.g., Excel, Word, PowerPoint). Windows Vista uses XML
formatting (e.g., *.docx, *.xlsx), which isn't backward
compatible without downloading add-ons.
Login Modules (LDAP) - (for
v1.4?)
-
B.J. mentioned that in LDAP, the login name should be "CN"
(Common Name) because it's the only setting that's guaranteed to
exist in LDAP. Although it's commonly used, "Email" is not
necessarily guaranteed to exist for LDAP systems.
-
It's important that installers not bind anonymously to the LDAP
server. They should bind as a user, and there should be a config
option for this.
Installation Package (OPDB v1.X) - (for
v1.4?)
-
We should disable new_user.php, or anywhere new users can be
created within the download package, for LDAP systems, since
presumably OPDB won't be writing new users to SJSU's or anyone's
LDAP database.
-
We might consider creating an easy way for OPDB admins to change
the word "Email:" in the login screen to something customizable,
like "Login:", "LDAP:", or anything the admin wants.
It might also be good to move all the installation documentation to
a Wiki, so others can edit it. B.J. likes
DocuWiki,
which is neat because it doesn't require a database or pseudo-html
knowledge (it just uses text files). He also suggested
checking out
Drupal, which
is a project documentation tool similar to OPDB.
Unplaced feedback from Greg & Scott when bug testing in January
2008:
Syncing Issues - (for
v1.3?)
17. (fixed) The sandbox should allow automatic
posting into inventiondb.com or another dummy installation of OPDB
(the sandbox should have all the latest functionality
enabled).
Photo/Image Issues - (for v1.3
phototab?)
5. (fixed) There should be a message to indicate
the maximum photo size allowed for uploading because I sit and
wait for my photo to upload and nothing
happens.
6. A later uploading of an image overrides the
previous designation of another photo as the first image, even
when you don't specify the later image as appearing
first.
7. The "viewable by everyone" option within a project is currently
an "all or nothing" option. For each photo or each resource
there should be an independent option to make the information
available to collaborators only. This could be useful if
there's some IP involved that isn't good to share with "everyone"
but is good to share with "collaborators."
10. (for 1.4) There should be a way to upload photos via URL
rather than just by uploading from a hard drive.
15. (revisit this) When organizing his photos at
http://sandbox.openprojectdb.org/browse.php?cubeid=2902, we found
out that there's no way to order the photos the way we wanted:
cat, cat, cardboard box. When you upload the cardboard box
image, it automatically becomes the first image. We wanted
to always have the empty box last, but this was impossible, and it
was generally impossible to order the images any way we wanted
them.
Login Issues - (for
v1.4?)
1. (bug to fix) When changing login email address, send a reminder
email to the new email address.
IM Issues - (for
v1.4?)
3. (easy feature fix) Add Google Talk / Jabber as an IM client.
Comment Issues - (for
v1.4?)
11. (file as 1.4, workflow issue) When I write a comment without
being logged in, I'm given the option to log in to make the
comment associated with my account. But when I log in, I'm
taken away from the place where I already wrote my comment.
Likewise, when I log out, I'm taken back to the homepage and not
the comment page, so I have to renavigate back, which is
obnoxious.
URL Issues - (for
v1.4?)
12. (bug fix in 1.31) The URL field within a project/resource
overflows when it's too long and causes the page to look
stretched. It should be elipsed (...) after a limited number
of characters without destroying the link. See
http://sandbox.openprojectdb.org/browse.php?cubeid=2898 for the
example.
Resource Issues - (for
v1.4?)
14. It took us a while to tell that when adding Greg's cardboard
box as a "resource" that other people could edit his resource
(this was a feature he wanted, but didn't believe existed, so
there should be better explanations that explain what features
exist).
Control Panel Issues - (for
v1.4?)
18. (to be addressed in 1.4) The short description field within
the control panel cuts off the number of characters
unexpectedly--there's no warning or saving of characters beyond a
certain point, nor is there any recommendation about when to start
using the "long description" rather than the "short
description." The "long description" should be directly
underneath the "short description" box and the number of
characters left should be mentioned.
19. (fix in 1.4) Changing the "name" field in the OPDB control
panel changes the "by" name listed at
http://inventiondb.com/browse.php?cubeid=2926, but not the "by"
name listed at http://inventiondb.com/listBox_projects.php.
Same with the sandboxed version.
Browser Issues - (for v1.5?)
2. Open outbound links in a new browser tab rather than the same
browser tab.
Buddy/Collaborator Issues - (for
v1.5?)
4. (think more about this) Once someone is linked as a buddy, only
the creator can edit the buddy description. Both people
within the buddy relationship should be able to edit the buddy
description. There should also be a check box that allows
people to approve or disapprove a buddy relationship, because it's
public. For example, once you create a buddy link, there's a
choice to write in what kind of buddy this is. Since you can
say anything you want, and the other person can't do anything
about it and its published to the world, there's nothing to stop
someone from being creepy and describing a relationship and
"lovers" without even knowing the person.
8. (bug to fix in 1.31) When you click the option to "edit" a
"buddy" a new database link is created rather than editing the
already existing relationship. This should not be--the
original relationship should be modified.
9. (bug fix in 1.31) The show my persons link doesn't do anything
when editing a buddy relationship. This should not be.
You shouldn't be able to add the same buddy multiple times.
There should be some check to prevent this from happening.
13. (fixed) You cannot add a collaborator for a resource
by searching the database, or by
searching within your friends.
Conceptual/Overall Vision Issues -
(for v1.5?)
16. The concept of "open project" needs the option to be more
wiki-like in that anyone should be able to add to and edit a
project, if users allow this option. That would be more
powerful and more broadly useful than having the software just be
"closed project, open source" as it is now. Then, if you're
collaborating on a solution to fusion, you might actually be able
to find it with the combined help of other people.
Unplaced feedback from Scott when adding an LED
project on March 15, 2008:
-
(will be addressed in
1.4) I want to add a resource to my project by clicking a plus
sign next to the resource tab within my project. Not the
resource tab at the top of the screen.
-
(file as bug in 1.3) I
added "CD" as a resource, but it wouldn't let me name it "CD"
because it didn't have at least 3 characters. How
strange. I added a period.
-
(will be addressed in
1.4) It took me 5 minutes to figure out how to attribute my CD
resource to my LED light project. It should just do this
automatically when I click a "+" sign on the resource
tab.
-
(a feature thought for
1.4) Images should be uploadable via URL.
-
(will be addressed in
1.4, ajaxyness) Page shouldn't refresh everytime I switch
tabs. Page should just just toggle between "display:none"
and "display" for the <div> for each tab.
-
(this should be fixed
for 1.3, idea: remove default uneditable text and prepopulate
the text field with suggested text) The "share project" feature
should allow me to edit the default email message, since it
doesn't apply to what I want to say. I didn't "find" my
project. I made it.
(will
be addressed in
1.4) add
a new photo dialog should be at
the top as well as the bottom.admin
options for photos should be on same page as normal photos page,
not just in admin interface.
consider view options by
item, not just on project level (see item 7 in Greg's list
above)
(will
be addressed in
1.4) add
link to image already on the web option, not just image
upload.(will be
addressed in 1.4) revisit image ordering
options(will be
addressed in 1.4) Good idea. add issue 1 as bug,
email a reminder to new email address with email address
change(will be
addressed in 1.4) michael: Add Admin
test interface... includes C2H testing, email engine testing,
returns reports. Links from system admin
page.(will be
addressed in 1.4) add gchat/jabber as IM client
option
dropdown(will be
addressed in 1.4) fix 12, url overflows and causes
page ugliness
-
displayed URL should truncate:
http://docs.google.com/a/openp...
-
hyperlink should remain full URL
-
-
(will
be addressed in
1.4) why
can anyone edit any resource? we should have a simple control
mechanism for this (without closing off the concept of "open
project" (see #16 in Greg's feedback above)).
-
in edit interface there should be design on top to
clearly indicate how edit permissions apply to the
object.
-
Michael thinks resources and vendors should remain editable by
anyone.
-
-
-
We should consider revision history, or at least automatically
connect the editing person as a contributor... maybe with a
system message when saving ("Your name will be added as a
contributor to this resource. OK, No Thanks."
-
-
Unplaced
feedback from Michael when adding an MP3 Player project on March 21,
2008:
-
[social] Adding certain types of object links should require
"acceptance" by the other party. For example, if I add another
user to my project, it should require that user to confirm. I
think this should be the case for connecting to any object that
does not have public edit access. So connecting a project to a
project would require confirmation by one of the authors of the
receiving project. Connecting a project to a resource would not
require confirmation b/c resources are publicly editable.
-
[viewer workflow] Every link needs to have suggested association
notes (like how do you know this person on facebook), and should
also allow write-ins.
-
[design suggestion] The white frame for the body should maintain
a minumum vertical dimension for every page. Ok, to grow for
longer content, but should not get shorter than page-height (600
px?) when content is shorter.
-
[edit workflow] OPDB 1.4 Need to have Edit tabs identical to
supertabs on the browse.php page. These tabs should show: info,
weblog, images, attachments, video. (video should be broken out
from attachments).
-
[edit workflow] Linking should have it's own Edit tab. (I think.
Opinions?)
-
OPDB 1.4 EDIT / VIEW switch.
-
-
-
[design suggestion] There should be a visual toggle switch,
perhaps like in iPhoto (or similar to iPhone aps), that
switches into edit mode or save mode. OR maybe a
frankenstien switch. Perhaps there should be a sound effect
on switching.
-
[edit workflow] Switching into edit mode, should always go
to the right place, based on the context of what you are
viewing. So if you are viewing videos on a project, then it
should take you to the edit function for the video tab.
-
[edit workflow] The same should be true for switching from
edit mode to view mode... if you are editing videos, and
switch to view, it should show you videos in view mode.
-
[edit workflow] Switching from edit to view should save
changes.
-
-
-
-
-
5. Add a cookie to remember a logged in user.
Unplaced feedback from Dr. Furman at
SJSU in April 2008:
-
[feature request]
Dr. Furman asked if we could add a
feature, by which students could place code in a folder
structure in OPDB similar to the windows
environment. For example, if a group
is developing an application, folder “App-1” would
represent the entire project and sub folders
“student-1”, “student-2”,… would
correspond to files added by each team member on that
project.
-
[feature
request] SJSU
is also interested in a version control feature for code
development.