[cvs] [Wiki] changed: Horde4/BCBreaking
Michael Slusarz
slusarz at horde.org
Thu Jan 28 20:00:34 UTC 2010
slusarz Thu, 28 Jan 2010 15:00:34 -0500
Modified page: http://wiki.horde.org/Horde4/BCBreaking
New Revision: 2.89
Change log: Clean up done tasks
@@ -4,17 +4,13 @@
* Switch to HTML 4.01 Transitional
* Switch to ((Project/HordePolicy|Horde_Policy)) for configuration
* Fix cloning behavior (See Bug 1410).
-* Encrypt deprecations in Horde_Crypt_pgp::. **(DONE)**
-* Use one place for clear text sendmail error messages. **(DONE -
Horde_Mime_Mail::sendmailError())**
-* rename files in imp/templates/prefs to more sensible defaults (e.g.
draftsfolderselect.inc, not folderselect.inc) **(DONE)**
* Remove {{$foo = &new Foo();}} calls and replace with {{$foo = new
Foo();}} - The former is deprecated as of PHP 5 and causes errors when
strict code checking is on.
* Similarly, don't pass objects by reference ( function foo(&$bar) )
* Move share edit form into framework package to make it extendable.
* Convert all configuration files to XML format (or to a unified
conf.yaml, or an annotated conf.php - either way, something the config
interface can universally manage and generate)
* Checkboxes in Horde_Form that are marked as required should be
required to be checked.
-* Remove IMP_SpellChecker::. **(DONE)**
* Use hash() instead of md5 or sha1 directly for speed
(http://us.php.net/manual/en/function.hash.php) **(As of 1/14/2009,
all md5() and sha1() calls in horde-git and horde-hatchery have been
converted)**
* Add a single function for changing the language (handle the
bindTextDomain() call also)
* Remove hack to fix app-specific Notification_Listeners that output
<p> instead of <li> (in Notification/Listener/status.php).
* Filter all input through filter extension or library.
@@ -24,33 +20,40 @@
* Set the cache expiration time when the entry is set. This is done
in 3.2 but the API should be modified to remove the $lifetime argument
from get() and exists(). When checking for cache data the check
should only be that the data is not expired. Garbage collection
should automatically remove expired data.
>> However, it's useful to have a way to use expired data in the
cache, or to have other kinds of "stampede protection" (have the first
process that hits an expired entry touch() it before regenerating it,
so that other processes don't *also* try and regenerate it - thus the
stampede effect). --ChuckHagenbuch
-* Don't let Horde_Crypt_pgp methods check for secure connection. **(DONE)**
-* Remove pref_api BC files **(DONE)**
* Fix Horde_Cache_file:: to accept mixed $data, instead of just a string.
* But http://lists.horde.org/archives/dev/Week-of-Mon-20070305/021221.html
* Use file_put_contents() exclusively.
* Refactor Horde_iCalendar
* Users shouldn't have to deal with property names, formatting,
escaping, versions, etc.
* Make getType() return values consistent.
* Consistent return types (array vs. timestamp) in _parse*() methods.
* Move date/time parsing methods to Horde_Date::.
-* Remove pre-Horde_Alarm reminder scripts and supporting classes **(DONE)**
* Clean up horrible Share reference workarounds
(http://bugs.horde.org/ticket/?id=5086,
http://bugs.horde.org/ticket/?id=5422)
* Make editors horde-wide configurable, maybe a preference
* Store all date/time information as UTC and convert to user's
timezone **(DONE only in Kronolith)**
* Make sure that Horde_Compress_* use streams instead of requiring
full files in memory. **(DONE for zip files, see
[http://bugs.horde.org/ticket/?id=7814 Bug #7814])**
-* Have some sort of Horde_URL object used to create/work with URLs
(will deprecate Util::addParameter(), Util::removeParameter()) **(DONE
- Horde_Url)**
-* In Browser::, change 'konqueror' to 'webkit' (or add both 'webkit'
and 'safari'). **(DONE)**
-* Move browser RTE capability sniffing to Horde_Editor drivers. **(DONE)**
-* Refactor Maintenance code to trigger it globally on login instead
of each application needing to trigger it's own tasks. **(DONE via
Horde_LoginTasks:: rewrite)**
-* Remove IMP_Serialize_JSON:: and Kronolith_Serialize_JSON::. **(DONE)**
-* Remove Gollem_Serialize_JSON::. **(DONE)**
* Refactor Horde_Image: 100% native Imagick driver (avoids having to
keep the image data in instance variable in addition to the imagick
object), Allow image objects to represent more than 1 image/page, Move
the Exif reading code from Ansel_ImageData into Horde_Image.
-* Remove alternate login/logout settings from IMP/Gollem. **(DONE)**
-++ IMAP stuff (DONE)
+* **DONE**
+ * Encrypt deprecations in Horde_Crypt_pgp::. **(DONE)**
+ * Use one place for clear text sendmail error messages. **(DONE -
Horde_Mime_Mail::sendmailError())**
+ * rename files in imp/templates/prefs to more sensible defaults
(e.g. draftsfolderselect.inc, not folderselect.inc) **(DONE)**
+ * Remove IMP_SpellChecker::. **(DONE)**
+ * Don't let Horde_Crypt_pgp methods check for secure connection. **(DONE)**
+ * Remove pref_api BC files **(DONE)**
+ * Remove pre-Horde_Alarm reminder scripts and supporting classes **(DONE)**
+ * Have some sort of Horde_URL object used to create/work with URLs
(will deprecate Util::addParameter(), Util::removeParameter()) **(DONE
- Horde_Url)**
+ * In Browser::, change 'konqueror' to 'webkit' (or add both 'webkit'
and 'safari'). **(DONE)**
+ * Move browser RTE capability sniffing to Horde_Editor drivers. **(DONE)**
+ * Refactor Maintenance code to trigger it globally on login instead
of each application needing to trigger it's own tasks. **(DONE via
Horde_LoginTasks:: rewrite)**
+ * Remove IMP_Serialize_JSON:: and Kronolith_Serialize_JSON::. **(DONE)**
+ * Remove Gollem_Serialize_JSON::. **(DONE)**
+ * Remove alternate login/logout settings from IMP/Gollem. **(DONE)**
+
+++ IMAP stuff
+
* Remove IMAP_Tree::. **(DONE)**
* Merge IMP_Thread:: to IMAP_Thread::. **(DONE)**
* Refactor IMP_IMAPClient::. **(NOT NEEDED - IMP_IMAPClient has been
removed)**
* Refactor IMAP_ACL::. **(DONE)**
@@ -59,66 +62,78 @@
* Remove Ingo_IMAP_Search::. **(DONE)**
* Remove imap_reopen() call in IMAP_Search::. **(NOT NEEDED -
IMAP_Search has gone away)**
++ Framework Libraries
+
* prefix all framework classes with Horde_ (see
http://www.php.net/manual/en/userlandnaming.php).
* capitalization (Horde_Xml_Wbxml instead of XML_WBXML)
* lib/ organization, test/, etc. (document new package structure at
((Doc/Dev/Libraries)))
* one framework structure, multiple packageName.xml files?
* pear package names don't include Horde; horde is the channel -
pear install horde/auth
* use Horde_Autoloader; never use include(_once) or require(_once)
++ MIME issues
+
* Remove deprecated code in MIME_Headers:: **(DONE)**
* Remove BC mime_drivers code in MIME_Viewer::, IMP_Contents::,
MIMP_Contents::. **(DONE)**
* Make MIME::_rfc822encode() a public function. **(DONE)**
* Make MIME_Viewers responsible for retrieving part contents (so
they can determine whether or not contents should be retrieved at all
and/or cached). **(DONE)**
-* Don't link MIME icons to Viewers - show icons no matter what
viewers are installed/enabled/etc.
+* Don't link MIME icons to Viewers - show icons no matter what
viewers are installed/enabled/etc **(NOT NEEDED - icons will always
need to be configured in mime_viewers.php; not sure how else this is
supposed to work)**
++ VFS
+
* Clean up VFS_sql to use '/' as the root of the VFS instead of ''.
This will make it behave like the other VFS backends without code to
do the conversion.
* Use/learn from http://www.php.net/~helly/php/ext/spl/
* Specifically !DirectoryIterator, !SPLFileInfo, !SplFileObject, ...
* Implement and enforce VFS permissions, at least in the backends
which do not enforce permissions themselves ('sql' and in some cases
'file').
++ !JavaScript
-* Remove last traces of enter_key_trap.js **(DONE)**
-* Remove code like hideable.js that is encapsulated by Prototype (or
whatever js toolkit 4.0 uses standard) **(DONE)**
-* Global Prototype/Scriptaculous libraries. **(DONE)**
-* Remove app-specific 'stripe.js' files. **(DONE)**
-* Remove app-specific 'open_calendar.js' files and extra code in
Horde's open_calendar.js. **(Partially DONE; apps other than IMP need
to be rewritten to use Horde_UI_JsCalendar::)**
-* Replace horde's popup.js with IMP's version. **(DONE)**
-* Basically consolidate _all_ js present in multiple apps **(DONE)**
+
* Put core javascript into a package so it can be versioned/upgraded?
-* Remove print.js in favor of just window.print() **(DONE)**
-* IMP's spellchecker library could probably be globally available
**(DONE - moved to Horde_Ajax)**
+* **DONE**
+ * Remove last traces of enter_key_trap.js **(DONE)**
+ * Remove code like hideable.js that is encapsulated by Prototype (or
whatever js toolkit 4.0 uses standard) **(DONE)**
+ * Global Prototype/Scriptaculous libraries. **(DONE)**
+ * Remove app-specific 'stripe.js' files. **(DONE)**
+ * Remove app-specific 'open_calendar.js' files and extra code in
Horde's open_calendar.js. **(DONE - Horde_UI_JsCalendar::)**
+ * Replace horde's popup.js with IMP's version. **(DONE)**
+ * Basically consolidate _all_ js present in multiple apps **(DONE)**
+ * Remove print.js in favor of just window.print() **(DONE)**
+ * IMP's spellchecker library could probably be globally available
**(DONE - moved to Horde_Ajax)**
++ Templates
-* Remove IMP_Template, Ingo_Template, and Gollem_Template.
+
* Replace all templates with a Horde_View class, with a default of
simple PHP templates
* Introduce templates for ALL HTML generated in libraries
* Figure out how to handle templates for framework packages
* Default HTML Horde_View should escape all output (htmlspecialchars)?
* Some sort of simple tag system for user-editable content (maybe
based on http://www.cheetahtemplate.org/ ?)
+* **DONE**
+ * Remove IMP_Template, Ingo_Template, and Gollem_Template. **(DONE)**
++ Bugs
-* Bug [http://bugs.horde.org/ticket/?id=4221 4221] (**DONE**).
+
* Bug [http://bugs.horde.org/ticket/?id=3271 3271] - more
specifically, how to deal with addition of configspecial tags. Of
course, this depends on what changes are made to Horde's configuration
design.
-* Un-stall all tickets with Horde 4/IMP 5/etc. milestones (**DONE**)
+* **DONE**
+ * Bug [http://bugs.horde.org/ticket/?id=4221 4221] (**DONE**).
+ * Un-stall all tickets with Horde 4/IMP 5/etc. milestones (**DONE**)
++ Internationalization
+
* Require UTF-8 support
* Replace number_format() with intl's NumberFormatter
++ To discuss
+
* RemoveGlobals
* ((Project/HordeSpaces))
* Require PHP 5.3+ and use the intl extension (http://us3.php.net/intl)
-* Remove confusing mess of hooks and other ways of muddling logins
(especially with IMP), and replace them _all_ with the preauthenticate
and postauthenticate hooks + appropriate examples for things like
vhosting. **(DONE)**
-* Clean up tobackend/frombackend hooks - either remove them, or name
them better, or document when and where they need to be called.
**(DONE; moved to single authusername hook and documented better)**
-* Get rid of 'realms' (replace with ((Project/HordeSpaces)) where
necessary). **(DONE; use authusername hook instead)**
-* Remove imp['uniquser'] ? **(DONE)**
* ((Horde4/Config))
* Per-variable session locks?
http://thwartedefforts.org/2006/11/11/race-conditions-with-ajax-and-php-sessions/
-* Use 1 login screen for all apps (i.e. !LoginController)? **(DONE)**
* Deal w/CSS namespace clashing issues in portals (see, e.g.,
http://bugs.horde.org/ticket/?id=5831). Prefix all css rule names with
the application name (.horde-header)? Or have separate CSS files for
portal apps (better - prevents from loading entire CSS files when most
isn't needed)
* Figure out what to do re: gettext strings in framework packages
(see, e.g.,
http://lists.horde.org/archives/dev/Week-of-Mon-20090706/024036.html
and
http://lists.horde.org/archives/dev/Week-of-Mon-20090713/024066.html)
+* **DONE**
+ * Remove confusing mess of hooks and other ways of muddling logins
(especially with IMP), and replace them _all_ with the preauthenticate
and postauthenticate hooks + appropriate examples for things like
vhosting. **(DONE)**
+ * Clean up tobackend/frombackend hooks - either remove them, or name
them better, or document when and where they need to be called.
**(DONE; moved to single authusername hook and documented better)**
+ * Get rid of 'realms' (replace with ((Project/HordeSpaces)) where
necessary). **(DONE; use authusername hook instead)**
+ * Remove imp['uniquser'] ? **(DONE)**
+ * Use 1 login screen for all apps (i.e. !LoginController)? **(DONE)**
More information about the cvs
mailing list