Gadgets TODO
NOTE:
- grumble grumble install process grumble grumble.
- installation process:
- 1 - add a user, and bless them into the administrators group
- 2 - run these commands:
- sudo /usr/local/src/gadgets/misc/admin/add_config.pl --gadget core_auth --path /me/ --key read --value all
- sudo /usr/local/src/gadgets/misc/admin/add_config.pl --gadget core_auth --path /admin/ --key read --value #get admin group doc_key here
- sudo /usr/local/src/gadgets/misc/admin/add_config.pl --gadget core_auth --path / --key admin --value #get admin group doc_key here
BUGS:
- handler IP/netmask addresses cleaner, allow support for skipping login check
- allow admin to set a site-wide default permission config
- do translation the Right Way
- don't give a 500 internal saerver error when you can't find a par file, give something more friendly - nuke ARegistration.par and click on register for example
- Get rid of this stupidity: "Could not erase this post, error was: actually erasing ok."
- don't give a 403 error for mysql server going away (wtf?)
- further work on the docs
- configure order of posts on a per-list page basis (home page and blog are the two current modes - should we introduce the ability o extend this arbitrarily many?).
- /util/erased should redirect to parent if we just deleted a reply
- health and travel wikis are occasionally fubar'ing with user not exist errors again... wtf?!? a couple of things going on here:
- authmanager seems to use host, not host+port specific cookies, so when tunneling in that will give problems since everything is on localhost
- the famous sql server goes away and dies bug..
- it'd be nice to support "friendlier" titles like on wikipedia - underscore == space == %20 ... what do we need to change to do this?
- Attachment names and titles don't work with search, according to Phillip.
- new_post/new_reply checks:
- details and actions should reflect the new permission stuff
- do defaults for new_post/new_reply "The Right Way"
- do something magic for the header to hide new post when it is not an option
- anonymous users:
- to do anon users justice, we'll need to rejigger details and actions to not say "please log in"... (could be a config option if it asks you to sign in or not?) - how about checking if there are any perms available to anoncowards, and if so, displaying them, if not displaying a more useful message than please log in (detail why we are asking to log in).
- Introduce a "All users (including anon)" option in permissions lists. which maps to * on the backend
- wiki.tt.o folks would also like recent posts tab to be hidden from non-administrators. to do this we need a more robust templating framework for the header, etc.
- we can stilll get an infinite redirect under /pub/stat (others?) w/ \" @ end of URL... then we get ...index.html/index.html/...
- email setups broken ???
- NOTE: there is/was something wrong with gadgets configuration that will defeat even an index rebuild - you need to re-add all the config values, presumably so the cache is re-set.
- preview body should add a horizontal break and an anchor and go to that anchor...
- gadgets calendar is a priority
- visual diff (use alt? how does wikipedia do it? also look @ trac) - use these on a) revision pages b) force_save page (the page you get when you post and someone has stolen your lock from underneath you) - also consider a JS diff - see http://en.wikipedia.org/wiki/User:Cacycle/diff
- wiki-source/mason/layout/post could use a rewrite/overhaul
- locking stuff: catch other places a write might happen... find these with a pre_store_hook, probably.
- force save screen doesn't inherit layout - why? when we get diffs, this is the place to show them
- we should get autopopulate options for the tag field. no reason not to. particularly blog and home page but also all other tags tht exist. people DON't HAVE to click on them, and acn type their own...
- there seems to be some sort of off by one error in terms of who did what revision...
- we die with an internal server error when we can't find the par file refeerenced in the gadget. catch this error and do somethig slightly less scary.
- conflicts stuff should catch the case when someone overrode your lock, and give you the option to 1) merge 2) overwrite 3) abandon
- add writable interface to ConfigManager, admin auths...
- you need to be signed on to get a list of users. not a big deal, but should be fixed eventually.
- deleting users seems to do funky (read: really bad) things. for now we should just set a "disabled" flag. That way old reference to that login in edit histories, etc. won't go ape.
- shouldn't ARegistration ask for your password twice and star it out as you type?
- search wierdness with multiple search terms?
- you can't search for a user by email address (only by nickname and full name) - this is actually a privacy/security FEATURE. but we should eventually give users a checkbox or so to enable this.
- there is something weird with our mason stuff when you try to do a <%method>
- multi store indexing brokenness (a comma-devel bug)
- 'GadgetsConfiguration' neq 'GadgetConfiguration', storename and dirname mismatch
- have a look at Perl::Critic to analyze code for common mistakes that dug may have made ;-)
- tinymce fixes:
- weird stuff with bullets
- colors
- tables/divs
- raw html button
- Audit all pre and post store hooks that do cleanup (when posts move, get deleted, when users or groups are deleted, etc) ie a post gets deleted, all previous versions should be nuked, when a user is deleted, subscription isn't deleted, etc.
- resolved: (8/23) backup scripts for chronicle repository and the chronicle xen stuff
- resolved: there must be a way to hook the dummy cache_static.macro install into the make install step instead of in perl Makefile.PL
- resolved: (rev 640) Images display in image rendering program instead of coming up in firefox - fixed.
- resolved: (rev 641) this means that filenames are not preserved, which is especially problematic for non-image files... to fix, change link to file/X/Y to file/X/Y/$name to fix this ?
- resolved: (rev 639) installs w/o Cache::Static require a dummy cache_static.macro (contains nothing but 1;) - we should invoke misc/install-extras.pl from Makefile.PL
- resolved: (rev 637) not logged on -> click "new post" -> red "you must log in" message. this is check_auth not refreshing - also "perhaps you should log on" loads when it shouldn't if you get redirected to that page. (but a reload removes the message.) - how can we refresh without resorting to a force_auth ( redirect => 0 ) call?
- resolved: (rev 632) add config values for post_new and post_reply (needed for wiki.tt.o, and probably will be useful for others)
- resolved: (rev 629) get some Cache::Static goodness up in this piece.
- resolved: (rev 554) Authentication required to view photo thumbnails
- resolved: (rev 546) when a post is rendered on the front page and has an image, and has details at the top, the image shows to the left of the details and actions>> instead of below it. We need a br / somewhere fixed by adding CSS: .post .image-thumbnails { clear: right; }
- resolved (rev 540): locking stuff: revert/unlock "button" @ bottom of editor window in edit
- resolved: (rev 539) conflicts stuff is a priority (warning if it appears you have overwritten someone else's changes could work)
- resolved: (rev 532, handler.pl fix) improve poor thumbnail quality by telling GD to use true color, not pallette. see http://gadgets.xml-comma.org/post/main/03pwirBV6Sx_xqSA for example.
- resolved: (rev 531, APost) gadgets gives you no indication that it can't find a user/group you've typed in by hand w/o choosing something from the autocomplete magique. make some sort of javascripty popup here.
- resolved: attachments, tags, author name, etc. should be listed at the bottom by default on wiki.tacticaltech.org, and we should have a GConf for this ( post_details_pos and post_details_elements in Wiki ). Images are now excluded from the attachments display by default. Also, add a last modified by field to this display..
- resolved: add support for user ACLs to search, etc. code
- resolved: restore sort by changed/created time in wiki-source/mason/layout/posts_table (pass an argument, remove order_by from iterator)
- resolved: MRTG for watching memory usage on xen-master, update images to include snmpd with reasonable config.
- resolved: apply search permission trick to "posts by" and "recent activity"
- resolved: search now pulls any documents you have permission for
instead of just public posts - resolved: install osidc as 72.3.176.214
- resolved: save draft -> publish broken on wiki.tt.o (probably some other subdomains too - fixed by replacing perl with standard debian perl and recompiling apache, moving/reinstalling/upgrading perl modules, etc.)
- mostly resolved: also proof the css/html to make things "most" standard compliant
- as of rev 503, the following URLs pass validation:
- /index.html
- /login.html
- /pub/blog
- /pub/stat
- /pub/tag
- (no logged in pages have been validated yet)
- resolved: upgrade debian packages on xen-master and all xen domains for security reasons
- resolved: Get xendomain template running latest gadgets modules (as of 07/08/2006). Also add apache init.d/rc*.d scripts to all xen domains for ease of restart.
- resolved: fix path handling for rss button returns Wiki par file
- resolved: layout of register link - it should be on the right
- resolved: dhandler in /wiki should check for article name match if it can't find a doc key match
- resolved: hitting a nonexistant url, such as
http://gadgets.xml-comma.org/asdfasdf/ redirects indefinitely. - resolved: user admin should have links to user history
- resolved: $gadget = $self->conf->get( gadget => 'core_impl',
path => $args{ path },
key => $args{ api } ); in resolver is returning
a true value when it should return a string. - resolved: gadgets installs for travel + health on chronicle
EXTRAS:
- resolved: Arbitrary number of columns stored @ la footer/header in wiki-template, do the "Right Thing"
- resolved: by default, put quicksearch form in the header.
- resolved: so browser w/o js can at least browse gadgets sites, audit script blocks and standardize-ify them
- from Tami/Reed: approve-before-post functionality
- from Tami/Reed: automate permissions and install process
- from Tami/Reed: automagic sitemap as ttech folks were describing
- from Tami/Reed: friendly URLS by default, death to hashes in wiki
- from Tami/Reed: search by tag, etc. - more options
- from Allan: we need a way to control whether main2, etc. go on the right or left hand side, because order can matter.
- from Marek: need a way to find unlinked-to pages and unlinked-to pages from admin interface - what's the best way?
- internationalization support (low priority)
- rssolator-style aggregator gadget
- think about where we need AJAX (and the inherent round trip latency) vs. where we can get along with plain js...
- auto-populate tags w/ home page, blog & all tags that have been used. home page & blog are "special" and at the top. blog should default to having reply all permissions
- put in a "permalink" function that links to the title instead of the ugly hash ?
- commit message with each post would be nice to provide more wiki-esque functionality and to help the visual diffs.
- It'd be nice if the admin interface also had a web-accessible template editor.
- It'd be super cool if we could seperate "widgets/mini-gadgets" from display. IE, you could move the navbar to the footer for example.
- Allan has some good ideas about the RSS/more info links.
- js autocompletion goodness for tags (but be sure to allow arbitrary input as well)
- browser compatibilty (stats from mm.o, oct 3 2005):
- ie6 works (47%). firefox works (15%).
- ie5.5 (3%) login seems broken?
- opera (<1%) seems to mostly work...
- safari (5%) bugs:
- logout is broken
- details and actions dropdown falls away before you can select anything
- 18% netscape (compatible) could be ie5.5 ? (eep)
ADGETS