Hi Mario The rough plan for deprecating an API or module is:
* Move the existing implementation to a plugin * Add a log function that displays a message in the console "Deprecated function/feature used", along with enough information to track down where the issue occurred * Distribute the deprecated-functions plugin as part of the core But that's really for when we're out of the beta; before the beta we can change things more freely. And I'm not suggesting that we do that in this particular case: we'll keep the existing `list` filter as a shortcut, and augment it with one or more new filters that provide the required functionality. Best wishes Jeremy. On Tue, Jun 17, 2014 at 12:53 PM, PMario <[email protected]> wrote: > > From: https://groups.google.com/forum/#!topic/tiddlywiki/915nysD7h1c > > On Tuesday, June 17, 2014 9:17:04 AM UTC+2, Jeremy Ruston wrote: >> >> Hi Stephan >> >> > I have the feeling, the consistency is lost here. >> >> The "list" operator was implemented back before the filter syntax allowed >> indirect operands. >> >> As I said above, I agree that the `list` filter operator is broken. >> However we need to fix it by introducing a new filter operator, rather than >> breaking backwards compatibility of the existing operator. >> > > Backwards compatibility is a good thing and everyone should try very hard > to achieve this goal, but IMO there needs to be a "defined" way, how we are > going to deprecate stuff. > > I think end-users have no problem, if something changes for the better, > but they don't like it, if there is an unexpected shutdown. > > I think, there should be some thoughts about "how we are going to > deprecate core functions" in TW5. ... There was some related discussion in > very early hangouts. ... > > In TWc deprecating core functions didn't work, for several reasons, which > imo caused extended need for support, support, support ... > With TW5 we should do better. ... > > > So my thoughts looks like this: > > * Information is key! > * Devs and power users need a single source of information, that tells > them, if something needs to be deprecated and what changes in the future. > * Deprecated functions need a possibility to tell users and dev's, that > they want to be updated. eg: console.log messages. > * > > * It seems to be common practice, that a major change from eg: Version > 1.x.y to 2.0.0 are the points in time, to remove / change a software core > behavor. > * Incompatibilities imo are allowed only at major changes. > > * deprecated core functions are packaged into plugins, and the > deprecation is announced, long before the functionality is changed. So > actually nothing changed for the end-user > * For dev's and extended users, there needs to be a good description, > what's needed to move forward. > * The "deprecated plugin" needs to have a possibility, to tell the user > / developer, that it wants to be removed. eg: some console.log output. > > * When the announced milestone is reached, deprecated plugins are moved > out of the core repo, into there own repo. > * So including plugins from there means, there is no "core" support > anymore, but an outdated TW keeps working. > * So support is moved from core members to the user ... > > Just some thoughts. > What do you think? > > have fun! > mario > > -- > You received this message because you are subscribed to the Google Groups > "TiddlyWikiDev" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/tiddlywikidev. > For more options, visit https://groups.google.com/d/optout. > -- Jeremy Ruston mailto:[email protected] -- You received this message because you are subscribed to the Google Groups "TiddlyWikiDev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/tiddlywikidev. For more options, visit https://groups.google.com/d/optout.
