Manila Work Notes

Jake’s Manila work notes:

Currently in progress
Delete button on the Edit News Item and Pending News Item pages
Changes:
manilaSuite.news.editInBrowserPage — checked out
Add a delete button to the News Item editing page. Only displayed if logged in as a managing editor.
manilaData.localization.languages.english.strings.html.sureYouWantToDeleteNewsItem — new
manilaSuite.news.memberCanDelete — new
Created. Return true if the member can delete a news item, or false if they can’t.
Fix possible bug in includeMessage macro, when flProcessMacros is true
Error: “Can’t find a sub-table named XXXX” — where XXXX is a number — the name of a page table in the website framework.
Have not yet been able to reproduce this. Looking at the code has yielded no promising leads.
My best guess is that it’s caused by an improper call to html.deletePageTableAddress somewhere in the news items code, and in combination with the includeMessage macro (actually in this case the module macro which calls includeMessage) this error pops up.
Review of all themes on the Harvard server
Macro that displays a copyright message or a Creative Commons notice depending on the settings in the prefs panel
Site-level pref for Gems folder size limit
Completed items
4/23/03
Major revisions to news items summary feature including:
Two new templates on the News Items prefs page
Themes support
New macros for news items templates
viewFullItem page for viewing the full text of a summarized news item
Added server-level Gems folder size limit to Manila prefs — it got lost in the new Admin site
4/22/03
First implementation of News Items summaries feature
Moved the XML icon and XML coffee mugs on all themes to below the navigation so they don’t get in the way
Fixed overlapping text bug in all four Discreet Blog themes. Widened the body portion of the themes by 60px.
Fixed overlapping text bug on all except the Discreet Blog themes on the Harvard server.
Made Bryan a managing editor on all the Themes sites on the Harvard server
Fixed a character-encoding bug in the nav links editor, which could cause it to generate malformed XML (and break the site)
Added some explanatory text to the top of the nav links editor, and released the parts.
4/21/03
Restored the gems size limit pref to the new admin site. It had ben lost in the upgrade to Frontier 9.0.
Fixed a bug in manilaSuite.rpcHandlers.newsItems.create:
It was assuming that client was defined, in order to store the client IP address in the message table (IOW, in assumed that it was being called as an RPC handler), but sometimes it’s called from other scripts.
In these cases, client isn’t defined, so I added some code — if defined client — to the script, to deal with the case where manilaSuite.rpcHandlers.newsItems.create is called outside of the webserver context.
Removed email addresses from profile pages in the case where a member table doesn’t specify a member name
Integrated Dave’s blogroll editor with Manila
Added the code to manilaSuite.admin.editNavLinks
Added code to do the site-shell upgrade to include the new page
Use images served from the local server, instead of hard-coded image URLs
Only allow managing editors and content editors to edit the navigation links
Localized the editor
Added Edit button below the navigation links
Updated the Crimson Theme on the Harvard server to the new version from Bryan which works in NS4
Fixed a bug introduced with the External CSS Feature: no longer neuter { and } characters in the External CSS when creating a theme
Made a small change to the spam-free mailto link feature for Manila: You no longer need to include the name in your custom prefs XML to get the link. It now appears below the profile items, with a prompt.
4/20/03
Spam-free mailto for Manila
Linked to from profile pages
Changes:
mainResponder.resources.icons.mailto — new
A little yellow envelope icon for a mail-to link.
system.verbs.builtins.html.data.standardMacros.spamFreeMailto — new
Code and data to run a form for sending email in a web page. Factored from radioCommunityServerSuite.
manilaData.newSiteTemplate.profiles.sendMail — new
Wrapper for the mailto page — copied into the site’s shell by manilaSuite.filters.firstFilter.
manilaSuite.filters.firstFilter — edited
Site shell upgrade — spam-free mailto page.
manilaSuite.members.sendMailPage — new
Run the spam-free mailto page in a Manila site.
manilaSuite.members.profileReader — edited
Added spam-free mailto links.
Externally linkable CSS files
1. A panel on the advanced prefs page for editing an external CSS file — done
Changes:
manilaData.localization.languages.english.strings.admin.externalStyleSheetSectionName — new
Localized name for the External Style Sheet advanced pref.
manilaData.localization.languages.english.strings.admin.externalCssSectionDescription — new
Localized description for the External Style Sheet advanced pref.
manilaData.localization.languages.english.strings.admin.editExternalCssWithPike — new
Localized prompt for editing the External Style Sheet advanced pref in Radio.
manilaData.newSiteTemplate.[“#newsSite”].externalStyleSheet — new
The default external style sheet. Does nothing.
manilaSuite.styleSheetPage — new
Run the page that serves the external style sheet.
manilaData.newSiteTemplate.gems.[“styleSheet.txt”] — new
Wrapper for manilaSuite.styleSheetPage — copied into the site shell by manilaSuite.filters.firstFilter.
manilaSuite.filters.firstFilter — changed
Site shell upgrade for external style sheet.
manilaSuite.themes.restoreExternalStyleSheet — new
Restores the external style sheet to the default, if available.
manilaSuite.admin.advancedPage — changed
Added External Style Sheet section.
2. A macro for adding the external CSS file to your template — done
Changes:
manilaMacros.linkToStyleSheet — new
Generates a link to the CSS file created via the Advanced prefs page
3. Docs need to be written
Added a feature to the External Style Sheet feature so you can link to it in such a way as to prevent Netscape 4 from seeing the file. This allows us to work around some bugs in Netscape’s CSS implementation.
Try visiting this site using NS4 for an example of a site that does this:
http://blogs.law.harvard.edu/crimsonTheme/
Added the External Style Sheet feature to the Harvard server so Bryan could start working on fixing the Crimson Theme for NS4.
Fixed a bug where email addresses would be improperly displayed on the /stats/mostReadMessages page in a Manila site
4/19/03
Initial implementation of external CSS file feature
Fixed a bug where email addresses would still be included in story bylines
Eradicate email addresses from Manila user interface
Docs are here:
http://manila.userland.com/emailAddressesNoMore
Changes: — released
mainResponder.members.linkToMember — released
Member links are now numeric — this prevents spammers from mining Manila sites for the email addresses of their members.
We store a number associated with each member in the usersMap sub-table of the #membershipGroup table, and look up the member’s email address using the number.
manilaSuite.members.linkToMember — released
Created — wrapper for mainResponder.members.linkToMember, which calls using param values to obliterate email addresses form Manila’s UI.
manilaSuite.members.profileReader — released
Use the new numeric mapped member keys for next/prev member links instead of older style links which include the member’s email address.
manilaSuite.news.formatNewsItem — released
When linking to the author, call through manilaSuite.members.linkToMember instead of mainResponder.members.linkToMember.
mainResponder.discuss.listThreads — released
New optional parameter, flUseMappedMemberKeys — if true, we use the newer style numeric member keys instead of the older email address style member keys.
manilaSuite.discuss.listMessages — released
Pass in true for flUseMappedMemberKeys to mainResponder.discuss.listThreads.
mainResponder.discuss.readMessage — released
New optional parameter, flUseMappedMemberKeys — if true, we use the newer style numeric member keys instead of the older email address style member keys.
mainResponder.discuss.renderOneMessage — released
New optional parameter, flUseMappedMemberKeys — if true, we use the newer style numeric member keys instead of the older email address style member keys.
mainResponder.discuss.readThread — released
New optional parameter, flUseMappedMemberKeys — passed to mainResponder.discuss.renderOneMessage.
manilaSuite.discuss.msgReader — released
Pass in true for flUseMappedMemberKeys to mainResponder.discuss.readThread, mainResponder.discuss.renderOneMessage and mainResponder.discuss.readMessage.
manilaSuite.members.membersListPage — released
Use the new numeric mapped member keys member links instead of older style links which include the member’s email address.
Created this outline
Fixed a pair of bugs in news items editing flow improvements which could cause referer errors
Removed email addresses from the /stats/members page
4/18/03
Initial implementation of eliminating email addresses from links in Manila’s UI
Started work on improvements to news items editing flow
Add comments sub-element of item to Manila’s RSS 2.0 feeds
On login page, trim leading/trailing whitespace from email address
Default command in the Admin box is Delete — it should default to none selected
4/17/03
Remove copyright message from supported themes on the Harvard server
Change Theme links on the supported Themes to point at the new versions instead of the older versions.
Add XML button and coffe mug to all supported themes
Switch to standard news items template with permalink and commentlink
The default comment template (for news items) should use square brackets, not parens
Fix a bug which would cause the wrong about text to be included on the home page after applying a Theme.
4/16/03 and before
User interface for the license element of Manila’s RSS feeds.
Store poster’s IP address in comments (all DG postings)
mySubscriptions.opml for Manila sites
File format is identical to Radio’s mySubscriptions.opml.
Changes:
xml.aggregator.getServicesXml
Created. Factored from xml.aggregator.saveServicesXml, this script generates the xml text for the services XML file.
xml.aggregator.saveServicesXml
Factored the code that generates the XML to a new verb, xml.aggregator.getServicesXml. Needed for Manila’s mySubscriptions.opml feature.
manilaSuite.xml.getServicesXml
Return an OPML document containing all the RSS feeds this Manila site is subscribed to.
manilaData.newSiteTemplate.gems.[“mySubscriptions.opml”]
Site shell wrapper for manilaSuite.xml.getServicesXml.
manilaMacros.opmlBlogroll
Add a tag to pta^.meta with the URL of the blogroll OPML file.
manilaSuite.renderNewsPage
Added support for .
manilaSuite.filters.firstFilter
Site shell upgrade — mySubscriptions.opml.
Encode high-ascii chars in Manila RSS feeds
The problem
Dave wrote: “In the RSS feed for a Manila site, encode characters that need encoding. When I paste a quote that has quotes or em dashes in it, often they break the validity of the RSS feed.”
Changes
In manilaSuite.xml.getRssXml, in the encodeWithEntities routine, added a call to xml.entityEncode with flAlphaEntities as false, to encode high-ascii characters.
Also encode quote and apostrophe characters as their equivalent named XML entities.
Don’t include the email address in comment pages by default
Modified the default comment itemTemplate to not include the {email} macro
Ran a script on the Harvard server to remove [{email}] from the comment itemTemplates
Removed [{email}] from the comment itemTemplates on radiocomments.userland.com and radiocomments2.userland.com
Category support for Manila-generated RSS feeds
departmentLink macro for news items template
Links the department name to the viewDepartment page for the department
Deleting the text of a news item in the DG view should not break the site
1. When clicking the Edit this Page button in the DG view, redirect to the edit news item page
2. If a news item’s XML is missing one or more elements or is mal-formed, don’t throw an error
Deleting the last remaining home page in a Manila site should not break the site.
In manilaSuite.discuss.deleteFromHomePageCalendar, added code which prevents the home page calendar structure from becoming invalid when the last day in a month or last day in a year is deleted.
New bottleneck, manilaSuite.discuss.ensureValidHomePageCalendar, verifies that the home page calendar structure is valid. Called from manilaSuite.filters.firstFilter.
Fix news items out of order bug. (on Harvard server)
Fix bug where the {includeMessage (2…)} macro would include the text of the wrong message instead of the text of the “About” message. (on Harvard server)
Fix neutering of {permalink} macro when editing the news item template in Radio.