This filter will be the filter to end all filters. It will be like the CCK of Drupal 4.6/4.7: as CCK wiped out almost all custom node types in favor of a more user-configurable approach, this module will wipe out all sorts of custom filters to allow a more user-configurable approach. It will allow almost any filtering tasks to take place WITHOUT A CUSTOM MODULE having to be installed.
This filter would expose to the user interface a set of options. The user will be able to define more than one filter. Each filter is composed of components: this task should define basic find/replace components (Example: for every "<front>" replace with "<a href="/node">front page</a>". User should be able to decide whether this is case sensitive or not.
There should be basic logic statements included, such as while() statements and if () statements (Example: if (post contained the phrase "add link") {. The if statements should be components by themselves. This module should get its components by invoking hooks in other modules.
So to recap briefly:
1) Create framework for a filtering module that invokes hooks. This/these should be easy-to-implement yet powerful hooks. Document the API for this module.
2) Write default hooks for simple find/replace.
3) Add logic statements such as if() and while() to the module.
This task is finished when a module is posted and reviewed by two members. It is to be written for Drupal 6.
Resources
- Documentation on hook_filter at http://api.drupal.org/api/function/hook_filter/6.
- Example filter at http://api.drupal.org/api/file/developer/examples/filter_example.module/....
- Documentation on invoking hooks at http://api.drupal.org/api/function/module_invoke_all/6.
- Documentation of PHP string manipulation functions at http://us3.php.net/manual/en/ref.strings.php.
- Can contact cwgordon7 for help: either drupal.org contact form or irc.freenode.net #drupal-ghop. In fact, anyone at the #drupal-ghop channel will probably be able to provide help if needed
Primary contact: cwgordon7
Comments
Comment #1
pwolanin commentedLooks like it might be a rather large undertaking. Simply designing a good API could be a task...
Comment #2
cwgordon7 commentedThis could either be one issue or two issues: posting both ways, to be decided...
One task (rerolled)
This filter will be the filter to end all filters. It will be like the CCK of Drupal 4.6/4.7: as CCK wiped out almost all custom node types in favor of a more user-configurable approach, this module will wipe out all sorts of custom filters to allow a more user-configurable approach. It will allow almost any filtering tasks to take place WITHOUT A CUSTOM MODULE having to be installed.
This filter would expose to the user interface a set of options. The user will be able to define more than one filter. (A filter is something that can be used within an input format). Each filter is composed of components: this task should define basic find/replace components (Example: for every
"<front>"replace with"<a href="/node">front page</a>". User should be able to decide whether this is case sensitive or not.There should be basic logic statements included, such as while() statements and if () statements (Example: if (post contained the phrase "add link") {. The if statements should be components by themselves. This module should get its components by invoking hooks in other modules.
So to recap briefly:
1) Create framework for a filtering module that invokes hooks. This/these should be easy-to-implement yet powerful hooks. Document the API for this module.
2) Write default hooks for simple find/replace.
3) Add logic statements such as if() and while() to the module.
This task is finished when a module is posted and reviewed by two members. It is to be written for Drupal 6.
Resources
Primary contact: cwgordon7
Two modules
Task 1: API
The API portion of the above module, as well as the default filter (find/replace) and logic.
Task 2: Documentation
Write a set of documentation pages on this module including screenshots of how to use it as well as how developers can take advantage of its API. Include an example (tested) implementation of the hooks, to be created into a useful module. This task is finished when the handbook pages and the module are approved of by two members of the Drupal community.
Any feedback on what anyone thinks is better would be highly appreciated!
Thanks,
cwgordon7
Comment #3
pwolanin commentedComment #4
cwgordon7 commentedComment #5
cwgordon7 commentedSubmitted to Google.
Comment #6
cwgordon7 commentedForgot to mention, issue continues at http://drupal.org/node/200834.
Comment #7
webchickClosing this task to hide it form the listings, since it's dealt with.
aclight and add1sun are probably going to come across this and go 'wtf?' but cwgordon and I talked about this in IRC and I think it's a neat opportunity to give a GHOP student a shot at mentoring a task. :)
Comment #8
cwgordon7 commentedAclight withdrew this issue on Google due to a typo; trying again below:
This filter will be the filter to end all filters. It will be like the CCK of Drupal 4.7: as CCK wiped out almost all custom node types in favor of a more user-configurable approach, this module will wipe out all sorts of custom filters to allow a more user-configurable approach. It will allow almost any filtering tasks to take place WITHOUT A CUSTOM MODULE having to be installed.
This filter would expose to the user interface a set of options. The user will be able to define more than one filter. (A filter is something that can be used within an input format). Each filter is composed of components: this task should define basic find/replace components. For example:
for every "<front>" replace with "<a href="/node">front page</a>". User should be able to decide whether this is case sensitive or not.There should be basic logic statements included, such as while() statements and if () statements. For example:
if (post contained the phrase "add link") {. The if statements should be components by themselves. This module should get its components by invoking hooks in other modules.So to recap briefly:
1) Create framework for a filtering module that invokes hooks. This/these should be easy-to-implement yet powerful hooks.
2) Write default hooks for simple find/replace.
3) Add logic statements such as if() and while() to the module.
This task is finished when a module is posted and reviewed by two members. It is to be written for Drupal 6.
Resources
* How to write a good API at http://buytaert.net/how-to-design-a-good-api.
* Documentation on hook_filter at http://api.drupal.org/api/function/hook_filter/6.
* Example filter at http://api.drupal.org/api/file/developer/examples/filter_example.module/....
* Documentation on invoking hooks at http://api.drupal.org/api/function/module_invoke_all/6.
* Documentation of PHP string manipulation functions at http://us3.php.net/manual/en/ref.strings.php.
* Can contact cwgordon7 for help: either drupal.org contact form or irc.freenode.net #drupal-ghop. In fact, anyone at the #drupal-ghop channel will probably be able to provide help if needed
Primary contact: cwgordon7
If anyone spots another typo, please tell me. Thanks!
-cwgordon7
Comment #9
cwgordon7 commentedRerolled:
This filter will be the filter to end all filters. It will be like the CCK of Drupal 4.7: as CCK wiped out almost all custom node types in favor of a more user-configurable approach, this module will wipe out all sorts of custom filters to allow a more user-configurable approach. It will allow almost any filtering tasks to take place WITHOUT A CUSTOM MODULE having to be installed.
This filter would expose to the user interface a set of options. The user will be able to define more than one filter. (A filter is something that can be used within an input format). Each filter is composed of components: this task should define basic find/replace components. For example:
for every "<front>" replace with "<a href="/node">front page</a>". User should be able to decide whether this is case sensitive or not.There should be basic logic statements included, such as while() statements and if () statements. For example:
if (post contained the phrase "add link") {. The if statements should be components by themselves. This module should get its components by invoking hooks in other modules.So to recap briefly:
1) Create framework for a filtering module that invokes hooks. This/these should be easy-to-implement yet powerful hooks.
2) Write default hooks for simple find/replace.
3) Add logic statements such as if() and while() to the module.
This task is finished when a module is posted and reviewed by two members. It is to be written for Drupal 6.
Resources
* How to write a good API at http://buytaert.net/how-to-design-a-good-api.
* Documentation on hook_filter at http://api.drupal.org/api/function/hook_filter/6.
* Example filter at http://api.drupal.org/api/file/developer/examples/filter_example.module/....
* Documentation on invoking hooks at http://api.drupal.org/api/function/module_invoke_all/6.
* Documentation of PHP string manipulation functions at http://us3.php.net/manual/en/ref.strings.php.
* Can contact dmitrig01 for help: either drupal.org contact form or irc.freenode.net #drupal-ghop. In fact, anyone at the #drupal-ghop channel will probably be able to provide help if needed
Primary contact: dmitrig01
Comment #10
cwgordon7 commentedRecommitted, marking closed.