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

Primary contact: cwgordon7

Comments

pwolanin’s picture

Looks like it might be a rather large undertaking. Simply designing a good API could be a task...

cwgordon7’s picture

This 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

pwolanin’s picture

Title: One filter fits all input filter » One filter to rule them all
cwgordon7’s picture

Status: Active » Needs review
cwgordon7’s picture

Status: Needs review » Fixed

Submitted to Google.

cwgordon7’s picture

Forgot to mention, issue continues at http://drupal.org/node/200834.

webchick’s picture

Status: Fixed » Closed (fixed)

Closing 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. :)

cwgordon7’s picture

Status: Closed (fixed) » Needs review

Aclight 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

cwgordon7’s picture

Rerolled:

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

cwgordon7’s picture

Status: Needs review » Closed (fixed)

Recommitted, marking closed.