karl

Unreleased

  • reduced width on login username input for IE6, so it doesn’t fall to the next line. Set margin on surrounding field as !important, because elements were jumping after focus was moved away (LP #611017)
  • removed unnecessary margin from profile image, so the middle content doesn’t get pushed down (LP #610666)
  • fixed add tag button on edit screen for IE8 (LP #610549)
  • edited the admin right side portlets to match new portlet styles (LP #610493)
  • Added support for logging each query, to compare performance across different configurations. Keyed on the query_log_all parameter, defaulting to False. Entries will be added to log/query/everything.log.
  • Fixed bug in mailin2 script that caused ZEO connections to be left open if there was a configuration error.
  • Fixed bug in entity conversion where numeric entities were not converted.
  • Removed a redundant copy of the text_scrubber code used by mailin.
  • Add some preprocessing to the mailin text scrubber to find URLs and mark them up as links using markdown syntax. (LP #545420)
  • Reproduced the websites normalization performed when editing a profile via the UI in the cico XML import, so that profile websites data downloaded from GSA will also be normalized by prepending ‘http://‘ to websites which begin with ‘www.’. Also added an evolve script to normalize the websites field for existing profiles. (LP #605203)
  • Convert non-standard mimetypes sent by Internet Explorer for jpeg and png image files to their more standard equivalents. (LP #608473)
  • Made all unknown image/* types viewable in default mime info. (LP #608473)
  • Added a utility and console script for renaming users. (LP #606339)
  • Removed link to __error_log__ from admin ui. (LP #581949)

3.38 (2010-07-09)

  • removed extra div#footer, so there are not multiple ids (LP #602889)
  • LP #602888: Change titles on some People reports.
  • LP #601109: Remove code and template for sending email after changing password.
  • LP #566594: Help text for imagedrawer.
  • slightly reduce margin on #right to prevent layout from breaking when font size is changed (LP #602837)
  • Fix handling of ‘website’ in admin CSV user upload. (LP #602473)
  • tempfolder: suppress sending events on add / remove, and therefore any catalog activity for objects in the temporary location. (LP #592697)

3.37 (2010-07-06)

  • further cleaning up of portlet styles to make them all the same (LP #599522)
    • set up related tags portlet and its .rightcol space to be styled like the other portlets in the site.
    • removed now unused CSS code.
    • gave .rightcol a left margin to put space between the portlet and text
    • reduced space above and below portlet title
  • cico people import: fixed the fix for singular ‘website’ element transform (LP #601205).
  • tagging engine: optimized ‘getFrequency’ (LP #597838).
  • upload users view: don’t pass ‘groups’ to profile factory (LP #598246).
  • portlet styles - cleaned up CSS for status message, applied new styles to profile tags portlet (LP #599522)
  • general cleaning up of themedstyles.css for legibility
    • conformed way the code is laid out
    • fixed small errors
  • Styled the site announcement to look like a status message. (LP #600765)
  • Updated mailin code to respect X-Postoffice-Rejected headers coming from repoze.postoffice and special cased the bounce message when a message is rejected to due to vacation loop detection throttling. (LP #597835)
  • hid the overflow on the main content area, so that when wide items are entered, the entire content area won’t fall beneath the left menu in IE. (LP #576042)

3.36 (2010-06-27)

  • Fixed UI bug where actions in folder views did not correspond to user’s permissions. (LP #594180)
  • Added evolve script to remove some broken objects that seem to be left over from the migration of profile photos to image drawer. These were blocking reindexing of profiles. (LP #594131)
  • Fixed bug where profiles add via cico (OSI, using gsa_sync) were indexed with a bogus value for the ‘allowed’ index. Updated evolve script to reindex the people directory. (LP #594131)
  • Added stub for console script, reindex_peopledir.
  • Fixed bug where ‘home_path’ was being clobbered by edit profile form. (LP #594127)
  • Updated the rss feed update code to only update a feed if the upstream feed contains entries. (LP #594352)

3.35 (2010-06-08)

  • Members views were not updated to use the new websites field after multiple websites change from 3.34, which caused an unexpected parameter error when creating a new profile after invitation. Fixed and updated tests. (LP #591267)
  • Fixed bug in whitelist–address matching is now normalized to be indifferent to the inclusion or exclusion of a name part with an email address. (IE, ‘Fred Flintstone <test@example.com>’ == 'test@example.com‘)

3.34 (2010-06-04)

  • Updated formatting for wiki body in e-mail alerts (LP #588905)
  • Added a site_announce script to set / clear the site announcement text from the command line (LP #579520).
  • Ensured that wiki pages cannot be added outside of the wiki tool (LP #586458).
  • Made profiles support multiple websites (LP #554018).
  • updated maintenance page (LP #587432)
  • Changed HTML ID for email icon in blog listing for customizations (LP #582500).
  • Added custom.css link into wsgi_errormsg.pt (LP #587104).
  • Duplicated views from old mailin monitor as new views which use postoffice. Admin UI will point to new views if repoze.postoffice is being used, otherwise it will still use the old views.
  • LP #588303 Added fax to profile view.
  • LP #589743 Form topic add comment form was still assuming old formencode system. It has been updated to be current.
  • LP #589814 Fixed broken add user form.
  • LP #554018 Added special case in cico for website in profile import. (Used by OSI’s gsa_sync.)

3.33 (2010-05-24)

  • Work around chameleon bug where the new next builtin in Python 2.6.x was shadowing the value passed from the view, breaking the Twill tests (and the reference manual views) under Python 2.6.x (LP #534599).
  • Add community and profile statistics to admin UI.

3.32 (2010-05-20)

  • Fixed bug where lemonade could not determine content type of reference manuals.

3.31 (2010-05-20)

  • Added a hook inside karl.models.site.Site.update_indexes to allow extension or customization packages to extend the set of indexes used in the catalog.
  • Made the “view all” view work for reference sections (LP #575712).
  • Allow nesting of sub-sections within reference sections (LP #575712). Also allow adding pages and files at the root of reference manuals, making them behave like reference sections.
  • The rtf converter now cleans up pict_dir directories left behind by rtf2xml (LP #579511).

3.30 (2010-05-06)

  • Changed wording of title field on file edit screen to remove mention of nonexistent checkbox (LP#575789).
  • Calendar event, blog entry, newsitem, page, reference add behavior tweak (LP#576033).
  • Batching in syslog view (LP#563745).
  • LP #575276 File view now uses generic layout when outside of a community.
  • Removed deprecated code that supported old profile pictures.
  • LP #571221 Cache results of file text extraction on the model, to make reindexing faster.

3.29 (2010-04-30)

  • Added an “Any” option at the end of the letterbox to allow clearing any existing filter (LP#/570853).
  • On each communities sub-view, add a “quick links” panel on the right margin, with tabs showing tool links, recent content, and members. The last two are fetched on demand using AJAX. This panel is currently disabled unless ‘demo’ is in the query string. See http://dev.karlproject.org/specifications/communitydiscovery.html#step-2-quick-links
  • Implemented sub-views for the ‘/communities/’ page: “Mine” (communities of which I am a member), “Active” (communities having acitivty within the past 30 days), and “All”. Drop the “My communities” portlet. This menu is currently disabled unless ‘demo’ is in the query string. See http://dev.karlproject.org/specifications/communitydiscovery.html#step-one-dedicated-views
  • Add “Community” to list of types in advanced search (LP#571218).
  • Add ‘fax’ field to user profiles (LP#570204).
  • Don’t blow up when managing tags from profile when no tags are present for the profile (LP#558743)
  • Created new version of mailin script (mailin2) which uses the experimental repoze.postoffice package for a central mailin depot.

3.28 (2010-04-22)

  • Introduce trivial AttachmentsSequence widget, along with slight markup and javascript tweaks, to get the attachment field on the various formish forms to work more like the pre-formish implementation (see LP#564130).
  • Get intranets root edit form to correctly default to the sample_feature value when the feature field is left blank.
  • TemplateAPI object now sets an ‘error_message’ attribute for formish form submission requests w/ validation errors; templates will notice this and render a top-of-form error message (fixes LP#564134).
  • Improve usability on the formish ‘sendalert’ fields (see LP#564131).
  • Re-specify default ‘sendalert’ value as True on calendar event add form (fixes LP#564115).
  • Add “overflow: auto” to the #right div CSS to prevent bad rendering when poorly formed (read: very long words w/ no word break, e.g. a long URL) content is pulled into a side portlet (fixes LP#540296).
  • Slight tweaks to the Network Events search UI and behavior to improve user experience (see LP#554028).
  • Sacrifice a chicken and provide a default value for the ‘min_pw_length’ setting since certain invocations of the test framework cause that to not yet be initialized.
  • Remove FormEncode and repoze.enformed dependencies and all dependent code.
  • Convert change password form to formish.
  • Convert calendar setup form to not use FormEncode / repoze.enformed.
  • Convert calendar event add / edit forms to formish.
  • Convert comment add / edit forms to formish.
  • Convert reference section add / edit forms to formish.
  • Convert reference manual add / edit forms to formish.
  • Convert password reset request and confirm forms to formish.
  • Converted profile and news item photos to use the newer, image drawer compatible image and thumb nails. Deprecated and removed older image handling code previously used to support these.
  • LP# 544199 Fixed KeyError in Admin Delete Content view when nested nodes are selected for deletion.
  • LP# 544199 Added ‘path’ to content selection grid used in some admin views. Changed sort index to ‘path’ for content selection grid.
  • LP# 567532 Added a ‘view’ link to the show file view, in addition to the already existing ‘download’ link.

3.27 (2010-04-08)

  • Add evolve script to retroactively prepend ‘http://‘ to any profile website URLs that start with ‘www.’ (see LP#554013)
  • Fix profile admin edit form so that the community memberships don’t disappear when the groups are updated (fixes LP#556679)
  • Slight tweak to the KarlManageMembers widget so it won’t blow up when faced with a community that has no members
  • Profile ‘website’ field now requires submitted values to start with ‘http://‘, ‘https://‘, or ‘www.’; if the last one is used ‘http://‘ will be prepended to the stored value (fixes LP#554013)
  • Re-add “default tool” dropdown to the add community form (fixes LP#554031)
  • In order to be able to kill runaway converter processes correctly, change karl.utilities.baseconverter.BaseConverter.execute: when creating a subprocess, don’t use a shell to start the process (shell=False), use subprocess.PIPE as stdin, use subprocess.PIPE as stderr.
  • Change converters that use execute: don’t try to redirect stderr output via the command.
  • Change rtf2xml converter to not change directory to /tmp (not sure why it was doing that in the first place) as part of its execute command.
  • Change rtf2xml converter to not pass --no-dtd on the command line. This option has no effect on any recent rtf2xml command I can find.
  • LP #552517: Fixed bug where new uploads w/ the same filename would fail to actually update the stored file.
  • LP #553959 Fixed bug in edit_intranet form that would corrupt the portlets.
  • LP #554024 Changed the ‘delete community’ operation to use a new permission, ‘delete community’ rather than overload the ‘moderate’ permission.
  • LP #556673 Only display buttons to add calendar events if user has permission to create events in the calendar.
  • LP #556036 Get static revision from subversion revision, if possible.
  • LP #510248 Hide ‘Advanced’ button on folders outside of intranets.

3.26 (2010-03-26)

  • LP #548352 Fixed bug which caused alerts to fail if a community had a comma in it’s title.
  • LP #548352 Fixed bug in error monitor where log messages containing unknown character encoding data could render the log unviewable.

3.25 (2010-03-25)

  • LP #546902: Removed the 500 character limit validator from the ‘text’ field on the community member and new user invite forms.
  • Fixed a failing unittest for mailin dispatcher. Did not affect production usage.

3.24 (2010-03-22)

  • LP #532879 Added a try/except block to catch ParseError exceptions in JQuery live search view to avoid contaminating error logs with ignored exceptions.
  • The wiki links would not work for non-ascii characters because the title was saved as unicode and the text as html entities, causing the link matching code to return zero matches. Added function to unescape entities from links before comparison to fix this.
  • LP #530799 (partial): Converted the following forms to use formish instead of enformed for form generation and validations: profile edit, admin profile edit, add user, add news item, edit news item, add intranet, edit intranet, edit intranets root, add page, edit page.
  • LP #544201 Added check for ‘create’ permission on target for mailin.

3.23 (2010-03-16)

  • LP #538272: Fixed add / edit community forms to pass the page_title in to the TemplateAPI object instead of directly to the template.
  • LP #533366 Added simple retry capability to run_daemon, primarily to avoid tripping the error monitor when conflict errors ocurr.
  • LP #538273: Added a ‘–timeout’ option to ‘update_feeds’ script: if passed, sets the global socket timeout accordingly.

3.22 (2010-03-12)

  • LP #530893 Updated mail sending code to use repoze.sendmail 2.0.
  • LP #520570: redirect ‘/favicon.ico’ requests onto the correct static URL, and ‘rss_view.xml’ requests to the equivalent ‘atom.xml’ URLs.
  • LP #530893 Added handling for RFC 2047 (Unicode) headers to all generated emails.
  • LP #530893 Added handling for RFC 2047 (Unicode) headers to mailin.
  • LP #531360 Fixed bug in people import where categories were not being properly reset at import time.

3.21 (2010-03-06)

  • Created a default policy for IShowSendalert. Refactored code to use a utility method, get_show_sendalert, to get whether or not to show a send alert checkbox in a form adding content.

3.20 (2010-03-04)

  • Updated bootstrap to provide new ‘name’ parameter to add_intranet_view when creating offices.
  • LP #530966, CSS fix for profile bug. (Derek via Paul)

3.19 (2010-03-02

  • LP #526574: Fixed the workflow association with the forum topic add and edit views so the creator of the topic will have edit / delete permissions; added evolve6.py function to fix existing topics. (rafrombrc)
  • LP #497017: Added a separate ‘name’ field to the intranets add form (rafrombrc)
  • LP #528514: Specified the right widget type for blog post ‘send email?’ field, added CSS to make the formish title fields the right size. (rafrombrc)
  • Fixed bug with people import where updating a profile might use a different user id than the profile.__name__.
  • LP #522179: Added template slots and admin UI for generating announcement blurbs that will be exposed to all site users. (rafrombrc)
  • LP #523280: Rejigger formish views and templates to put page_title value in TemplateAPI object instead of passing it directly into the template (rafrombrc)
  • LP #520541 Updated adduser console script to also create a user profile. Added checks to avoid clobbering an existing user.

3.18 (2010-02-22)

  • Fix for memory leak in mailin process.
  • UI fixes. (ree)

3.17 (2010-02-17)

  • LP #503451: Calendar: Week view does not display some events
  • Fixed calendar list view to correctly show “all-day” for all-day events.
  • LP #522173: Add a “down for maintenance” HTML page in views/static with relative links to styling and images which can be served directly by Apache.
  • When importing users, using cico, any space characters in the user’s id are now elided.
  • LP #523333: find_contiguous_slot error error in calendar

3.16 (2010-02-12)

  • Add “evolve5” step which converts calendar layers and categories to have opaque object ids.
  • Made the (+) on all-day events on the calendar day and week views functional.
  • Fixed links to all-day events on the calendar day view.
  • LP #510242: change submit buttons to say “submit” (as has been the case in previous releases) rather than “Edit” or “Add”.
  • LP #510770: Sort categories by title rather than path.
  • LP #510304: Add/edit calendar event should show default category first always.
  • LP #513340: Calendar event blocks not formatting correctly in IE
  • LP #510240: Formish edit screens have wrong heading
  • LP #506106: “accept invitation” refused with password length error no matter what password length provided.
  • LP #510187: Get the display for per-office data in People reports to match the previous layout.
  • LP #497437: Fixed all-day event option for calendar events.
  • LP #503442: Fixed hardcoded year left in calendar week view template.
  • LP #510285: Use opaque identifiers for new category and layer ids to make it possible to add a category with the same label as a layer and vice versa.
  • LP #509597: IndexError on Calendar _find_contiguous_slot_across_days
  • LP #503451: Fixed multi-day calendar event not on both days.
  • LP #503771: Fixed day links on calendar list view.
  • LP #503523: AttributeError: ‘CalendarEvent’ object has no attribute ‘color’
  • LP #503450: Fixed that the hour and minute selectors on the add calendar event page would lose their all-day state if the user entered an end date that was before the start date.
  • LP #496331: Calendar list view now shows a paginated listing of upcoming events with 20 events per page.
  • Merged svn+ssh://osi@osi.agendaless.com/home/osi/bfgsvn/karl/branches/formish branch, which replaces some form-based views with formish forms.
  • LP #496381: Calendar event duration must be at least one minute.
  • Added missing registration for IFileInfo adapter for ICommunityRootFolder.
  • Fixed bug in evolve2 step that updated ‘Last Activity’ for every community.
  • Added missing view registrations for mailin monitor utility.
  • Fixed bug with attachments on mailin caused by a bogus assertion which would usually fail.
  • Bug fix: Make sure acl’s are properly set on profiles during import.
  • LP #494582 Added opensearch support to people directory. (Ported from OSI.)
  • Bug fix: Make sure custom_folder_view uses get_layout_provider utility method.
  • Explicit registration of an IFolderAddables is no longer required. A suitable default is found if there is no registration. Added ‘get_folder_addables’ utility method.
  • Created a default footer that just contains the offices listing component of OSI’s footer.
  • Bug fix: Allow add/edit forms for calendar event to still work if there is no category. Categories are not used outside of the context of the calendar tool, and calendar events can appear in regular old folders in intranets. This allows to again create and edit events in the ‘network-news’ folder used in most intranets..
  • LP #497937 Corrected which tools are addable when creating a new community.
  • LP #488152 Made initial site_acl used in boostrapping the same in core as what OSI uses.
  • LP #488854 Added link to delete user in admin edit profile view.
  • LP #505939 Fixed bug when trying to render edit form for calendar events that occur in a ‘network-events’ folder rather than a calendar.
  • LP #510194 Fixed people directory report columns to properly handle None values.
  • LP #510193 Fixed indentation for IE in people directory.
  • LP #510204 Removed height constraints on ui grid layouts.
  • Added an administrative UI in order to have a central place for functions useful to Karl administrators.
  • Added syslog functionality.
  • Added a monitor utility for errors in various Karl subsystems.
  • Fixed bug in workflow where unicode was breaking status messages.
  • Fixed bug in karl.views.utils._get_user_homepath. Was expecting traverser to return a list for subpath but traverser was returning a tuple.
  • Fixed bug displaying “system” profiles. Karl instances generally have one system profile, “admin”, that does not have an entry in site.users, since the profile is not used to log into the site but only as a placeholder user profile for associating with events generated by the system, usually when bootstrapping a new Karl.
  • Exclude objects which don’t provide IContent from ‘texts’ catalog index. (Only content objects should show up in search.)
  • Added specific exclusion for ICalendarLayer from ‘texts’ catalog index.
  • Fixed bug with mailin quarantine monitor generating bad links to quarantined messages. Ended up taking entirely different approach to mounting the repoze.mailin.monitor subapplication. Implementation this time around is messy but should look prettier when BFG 1.3 is ready.
  • Added daemon mode to scripts that were being called as cron jobs: mailin, qp, update_feeds, and digest.

3.15 (2009-12-14)

  • LP #496330: Clicking the (+) from the calendar month view now uses a default of 9:00am instead of 12:00am.
  • LP #494701: Editing a calendar event now populates the form with the correct times.
  • LP #492346: Clicking the (+) button to add a new event on the calendar views now populates a default date and time on the form based on the context of where (+) was clicked.
  • LP #491991: An event’s calendar category is now displayed when viewing the event.
  • LP #491986: Constrain width of category selector on calendar setup page.
  • Increase performance of jQuery selectors in calendar daily/weekly view
  • Fix editing of calendar categories/layers when names have spaces
  • Calendar categories and layers are now managed on the same setup page.
  • Preload button images better so that they don’t flickr on hover/click
  • Change calendar “Add Event” button to not be an image so that it is easier to test and change the label if needed
  • Speed up rendering of any page shown inside the community layout by roughly 2X.
  • LP #444502: Added a sample content generation script.
  • “Settings” action on calendar tool now allows the choice of a color along with a virtual calendar name.
  • Add a new field index named “virtual” to the catalog. The initial use for this index is to be able to query for catalog events globally for the purposes of creating a “dynamic” calendar: the virtual index, for catalog events, will be populated with a tuple: (calendar_path, virtual_calendar_name). This tuple can be used in queries by the dynamic catalog machinery (which will need to spell out a set of tuples naming these calendars, and query the “virtual” catalog field index using the tuples in an OR clause along with, e.g. interfaces=(ICatalogEvent,).
  • If a user doesn’t have an associated profile, don’t fail hard when trying to reindex the peopledir catalog.
  • LP #434879 Add support for pasting into livesearch
  • The RSS icon on the new calendar views is now placed on the lower right for consistency with the other pages.
  • Removed the “View Earlier Events” and “View Later Events” from the list view on the new calendar. These duplicate the functions of the forward/backward buttons and are not necessary.
  • The “Settings” page of the existing calendar has been temporarily hidden on the UI until the new calendar is finished. Requested by Jason Lantz to prevent confusion.
  • LP #430037 In karl.content.adapters, use functions in karl.utilities.converters instead of an xslt-using function named _html_cleaner. The _html_cleaner was producing incorrect results when fed HTML provided by the rich text input widget.
  • Moved “karl.content” into this package (as the content subdirectory).
  • LP #418687 Add better looking status messages
  • LP #418701 Add better styling of form buttons
  • LP #356541 Added better icons for file/folder listings including Folder, Reference Manual, Page, Calendar Event, and News items.
  • Updated edit_acl view to allow workflow transitions, including re-inserting an object with a previously customized acl back into a proper workflow state.
  • LP #426385 Added a few extra parameters to template call for admin_edit_profile view. Extra paramaters used by OSI custom template.
  • The ID of an uploaded should not include directory names provided by the browser, if any. This was solved previously for Windows but not for POSIX (forward slash) path names.
  • The new calendar pages have now replaced the original calendar.
  • LP #449690 Moved text scrubber utility for mailin to core. Moved mailin monitor sub-application to core.
  • Removed out of date paster template. This has been superceded by KarlSample project.
  • Made setting of categories via peopleconf util optional. OSI will set categories via gsa_sync, so peopleconf needs to be able to handle the categories and reports separately.
  • Removed all references to ISecurityWorkflow, in favor of newer worfklow system.
  • LP #449686 Moved workflow policy to core. All known Karl instances were using the same policy, so for maintenance it makes sense to move this to the core. Since the workflows are hooked up via ZCML these “default” workflows can always be overridden in a customization package.
  • LP #449676 Moved most console scripts into core to avoid duplication across all of the customization packages. Entry points are still declared in customization packages to allow partners to opt out of or replace particular console scripts.
  • LP #449683 Moved initial data for bootstrapping Karl in the core and made overridable via utility registrations on the interfaces in karl.bootstrapping.interfaces.
  • LP #449683 Moved Paste Deploy application factory (aka run.py) into core (as application.py).
  • LP #449691 Moved evolve script to core and updated it to use utility registrations in ZCA to find packages to evolve. This allows us to maintain a set of evolution steps inside the core that would be common to all instances of Karl while still allowing for customer specific evolutions in the customization packages.
  • LP #449683 Evolution DB versions are now set at bootstrap time, whether called from application.py or the startover script. The startover script has been moved to core.
  • LP #449689 Added standalone.zcml for running Karl without a customization package.
  • Moved OSI’s notion of ‘intranets’ (aka offices) into core Karl for use by other Karl instances.
  • LP #491984 Fixed bug where folder contents deletion warning was being used for any folderish object rather than just folders under the Files tab.
  • LP #492382 Added an argument for the form class to admin_edit_profile_view, allowing third party customizations to still use the view logic and just change the form validation.

3.14 (2009-09-08)

  • Hide all states in workflow UI that aren’t current and have no valid exit transitions.
  • Fixed error message in error page middleware.
  • Merged ‘chrism_workflow’ branch.
  • LP #418695 Bold communities for which logged in user is moderator in “My communities” portlet.
  • LP #422571 Added convert_entities function to karl.views.utils. Updated atom entry adapters to convert entities in content.
  • LP #422572 Made some changes to atom feed based on feed validator recommendations: Added “updated” element to feed. Added rel=”self” attribute to “link” elements.
  • Fixed bug discovered in alert digests–email recipients were not being properly passed as a list. Digests could not have worked at all. Surprised there was no bug report. (15 users in OSI have alert preferences set to digest.)
  • LP #422586 Enabled alert digests to send attachments via email.

3.13 (2009-08-26)

  • Ignore emails with a header that indicates they were auto-generated, such as out of office replies. Like Mailman, Karl now looks for the non-standard but widely supported Precedence header, as well as the new, standard Auto-Submitted field.

3.12 (2009-08-19)

  • LP #413137 Export as CSV was producing a unicode header; WSGI only accepts byte strings.
  • LP #399427 Removed send_alert field from ICommunityContent interface.
  • LP #399427 Allow use of default for Alerts utility, making registration unnecessary except to shim in a dummy test implementation in unittests.
  • LP #412463 Publish atom feeds as escaped HTML rather than embedded XHTML.

3.11 (2009-08-17)

  • LP #414799 Made system name configurable in Karl error page wsgi middleware.
  • LP #414799 Scrubbed ‘KARL’ from UI.

3.10 (2009-08-12)

  • LP #412478 In mail-in, replace empty message body with warning message.

3.9 (2009-08-11)

  • LP #408946: Give visual LS feedback and pause on multiple words
  • LP #409495: Fix broken General KARL Error Screen in IE
  • Disabled browser form autocomplete in the add user form (without this, the browser fills the password field with the current user’s password).
  • Log more info about dropped email messages.
  • Made the mail white list case-insensitive.

3.8 (2009-08-06)

  • Removed OSI-specific change password link logic from edit_profile view.
  • The peopleconf utility now has the option to force reindexing of the people directory catalog.
  • LP #409408: IE refuses to download files over HTTPS when the Cache-Control header specifies no-cache or no-store. Switched to “private, must-revalidate”, which seems to be the generally recommended header for dynamic apps.
  • LP #409499: Reference Manual delete produces TypeError

3.7 (2009-08-04)

  • LP #407445: Provide rounded corners on tag boxes in IE
  • LP #403648: Fix right margin in IE on anonymous layout
  • Use the newer ISecurityWorkflow API (pass request in to all relevant methods).
  • LP #404205: For the new people directory, renamed the unconfigured “All KARL” tab to “All”. Use peopledirectory.xml to configure it. Also added the ability to filter reports by arbitrary (but fixed) catalog query parameters.
  • LP #408156: Added a catalog index that makes it possible to show only non-staff in a people directory report.
  • LP #405361: Selecting a letter in the new people directory did not survive pagination.
  • Partial solution to LP #407017: disable autocomplete in admin_edit_profile.html and validate changes to home_path.
  • Added reverse look up for countries.
  • LP #407510: Show all fields in admin_edit_profile.html.
  • Enabled text relevance ranking in search results.

3.6 (2009-07-23)

  • Use resources rooted in “static” rather than in “static/custom”; anything in static is allowed to be overriden.
  • LP #400732: Reorganize and cleanup CSS to reduce file size and complexity.
  • Use a start-time versioned URL for static resources. This implies that the “static_postfix” setting is no longer required (the version number is generated and consumed by the system itself, rather than requiring a version number to be set in configuration).
  • Use a 5 year static resource expiration time to work around browser caching bugs.
  • Use “repoze.enformed” package to do form validation and rendering; “form” templates are now inlined into their constituent “real” templates.
  • Made FakeEmailDelivery quiet by default.
  • Better fault tolerance when killing processes using Python < 2.6 via utilities.baseconverter._ProcTimeout
  • Made the name of the logo image configurable (so that it can be a PNG rather than a GIF).
  • LP #398940, LP #398951: Added spelling checker for TinyMCE editor. This requires the aspell command. Please see the buildout README.txt for instructions on installing Aspell.
  • Moved the ok.html and zodbinfo.html views to karl core since all partners need them.

3.5.1 (2009-07-17)

  • LP #400767: Fixed AttributeError on activity listings.

3.5 (2009-07-16)

  • LP #383666: Paste from Word to blog posts emails content but drops from blogentry
  • LP #398914: Scale and crop uploaded profile photos to fit 75 x 100. The original image uploads are available under the name “source_photo”, for example, /profiles/admin/source_photo .
  • LP #390767: In the recent activity list, show the person who edited, rather than the original creator.
  • LP #396581: Most links to a comment should show the comment in context.
  • LP #397196: Added a page that links to admin tools (/static/admin.html)
  • Updated paster template.
  • LP #399396: Fix styling on list items.
  • LP #399408: Reformat Network Events portlet to better display long titles

3.4 (2009-07-09)

  • LP #394355: Don’t commit changes to sqlite “pending messages” table if ZODB raises a conflict error.
  • LP #391264: Added an administrator-level user edit view.
  • LP #391259: Added an administrator-level user add view.
  • LP #397030: Use quarantine for messages that fail to process during mail-in.
  • Got rid kludgy ‘.error’ file for mail-in, since the quarantine renders it obsolete.

3.3 (2009-07-06)

  • Add fault tolerance to mail-in for message bodies with unknown non-unicode character encodings.
  • Add a karl_project paster template (unfinished) in order to bootstrap a KARL customization. The code used is an amalgam of Tres’ non_osi_template package updated with recent changes to the OSI package.
  • Forward compat: use the “repoze.bfg.view.static” helper rather than rolling our own view to serve static files in karl.views.site.
  • LP #392561: get ‘content_modified’ set correctly on communities when adding content.
  • LP #391234: Use a non-forked version of the repoze.who auth_tkt plugin (repoze.who 1.0.15, now in the “lemonade” index has the “max age” feature which made this fork necessary).
  • LP #391246: Removed concept of “vocabularies” as a persistently stored thing with indirection. Placed countries data in core karl package as const data.
  • LP #390868: Updated OSI logo.
  • LP #384841: Add ‘use_cache’ kw argument to CachingCatalog to disable cache for particular searches.
  • LP #391377: Moved settings such as ‘system_email_domain’ to karl.ini.
  • Stop using a custom KarlSecurityPolicy; this policy was identical to the WhoInheritingACLSecurityPolicy in repoze.bfg 0.8+. Use that one instead.
  • LP #388096: Made a link to the community delete operation.
  • LP #391247: Refactored console scripts to make them easier to test and maintain. Renamed osi.ini to karl.ini.
  • LP #391251: Moved osi/utilities to the karl package.
  • Graceful handling if invalid ‘To:’ address in mailin.
  • Mailin can now signal that it is wedged by writing a file, ‘.error’, to its Maildir when it encounters an error. This is easier to set up monitoring for than scraping the logs. Humans will still need to read the logs when an error is found.

3.2 (2009-06-24)

  • LP #387974: Made ‘edit_acl.html’ view reindex context in the ‘allowed’ index, as well as invalidating any cached catalog queries.
  • Added a simpler people directory implementation to the KARL core.
  • For text index converters that use external programs, added a timeout thread to kill hanging processes. Process is considered hanging after 5 seconds. This is to work around an error in wvConvert such that it will hang indefinitely for certain inputs.

3.1 (2009-06-16)

  • LP #387390: Add / enable delete profile view, deleting the corresponding user as well.
  • LP #336714: Added optional ‘reason’ argument to ‘logout_view’, to enable overriding the header value passed explaining why the user landed on the login form. Use this argument when returning the logout response from another view.
  • LP #385580: Have the “Back to Parent” link not be full width on the <a>.
  • LP #385268: Email index is converted to lower case to facilitate case insensitive search.
  • LP #385636: Better handling of existing users in invite new users form.

3.0 (2009-06-15)

  • LP #384096: Intersect text index search results last for advanced search, improving relevance ranking.

  • Micro-speedups for “communities” page.

  • LP #386110:

    o Filter items in showtag view according to view permission of

    authenticated user.

    o Consolidated three showtag views to use same code.

    o Fix double slashes in profile view.

    o Make sure new user profiles get initialized with __acl__.

osi-production-20090611 (2009-06-11)

  • Temporarily revert commit to use “natural” order of text index committed in osi-production-20090610 because caused search queries to ignore catalog security info.

osi-production-20090610 (2009-06-10)

  • LP #384096: Updated code for generic search to use “natural” order of text index, where possible.
  • Fixed ‘karl.views.people.show_profile_view’ not to blow up when userid != login.
  • Add member_name index for text searching of just member names. NOTE: This requires running reindex_catalog -p /profiles
  • Improved performance of member search widget in add_member_view

osi-production-20090608 (2009-06-08)

  • Switched to using a multi-adapter for footer (replaces hard-wired OSI branding).

osi-production-20090603 (2009-06-03)

  • Made the lastfirst index case-insensitive

  • LP #382857: Sort community members by last name / first name.

  • Use get_setting instead of looking ISettings.

  • LP #382576: Use ‘method=”get”’ in the advanced search form. Also, gather vars for batching from either POST or GET submissions.

  • grid: Fix initial sorting direction, and direction on the first click.

  • grid: Make header borders collapse, and adjust column width calculations

  • Added OfflineContextURL for enabling use of model_url outside of HTTP context, and registered OfflineContextURL as an adapter for OfflineRequest.

  • LP #382572:

    o Ensure that community / profile tag listings are slpha-sorted.

  • LP #381671:

    o Allow narrowing tagging APIs by user.

    o Pass user to profile-specific invocations of getFrequency.

    o Show better breadcrumbs in tag views.

    o Pass user to ‘getRelatedTags’ in ‘profile_showtag_view’.

    o Show related tag links relative to profile / community / root.

  • login: Disable all validation against spaces in the username.

  • tagsearch: Fix tagsearch result list to never wrap, and extend its length for longer search results.

osi-production-20090531 (2009-05-31)

  • No changes to this package.

osi-production-20090528 (2009-05-28)

  • Initial version rolled out to replace KARL2.