User Tools

Site Tools


g2:choosing

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
g2:choosing [2011/01/12 09:16] – [Choosing a glossary-type module] expanded for DDD code sprint fgmg2:choosing [2011/01/22 22:08] – G2 D7 now available fgm
Line 1: Line 1:
 Back to [[g2:start|G2 main]] Back to [[g2:start|G2 main]]
  
 +====== Choosing a glossary-type module ======
  
 +None of the glossary modules is intended as a plug-in replacement for the original glossary module already available with drupal since its humble beginnings. Each of the alternatives was designed for slightly different needs, and this page is here to help you choose which module you should probably be using, or if you should really write your own. Lexicon evolved from glossary to accomodate yet another set of requirements, and glossify started with needs similar to glossary, but evolved to a much more diverse set of features; only those relevant to glossaries should be listed here.
  
 +Left-to-right order by date of creation. Empty cells means info not yet available. Please contribute !
  
 +TODO: import "features discussion" from the [[g2/choosing_next|2008 glossary comparison table]], which updated the very obsolete http://drupal.org/node/266511, currently unavailable for edit except to members of the Drupal doc team due to the Full HTML format, but has now become partly obsolete itself. The 2008 chart is now imported.
  
- +^ Feature                            Glossary          ^  G2                          ^  Glossify   ^ Lexicon ^  Refactoring          ^  
-====== Choosing a glossary-type module ====== +^ Drupal-related                    ^                    ^                              ^             ^                               ^ 
- +| Drupal 7.x                        |  No                |  Yes                         |  No(t yet)  |  Yes    |  Yes                  | 
-G2 is not intended as a direct replacement for the glossary module already available with drupal for quite some time now. It was designed for slightly different needs, and this page is here to help you choose which module you should probably be using, or if you should really write your own. Lexicon has been evolved from glossary to accomodate yet another set of requirements, and glossify started with needs similar to glossary, but evolved to a much more diverse set of features; only those relevant to glossaries should be listed here. +| Drupal 6.x                        |  Yes                Yes                          Yes        |  Yes    |  No                   | 
- +| Drupal 5.x                        |  Yes                Yes                          Yes        |  No      No                   | 
-^ Feature                            Glossary          ^  G2                          ^  Glossify  ^ Lexicon ^  Refactoring          ^  +| Drupal 4.7.x                      |  Yes                Yes                          No         |  No      No                   | 
-^ Drupal-related                    ^                    ^                              ^            ^                               ^ +| Drupal 4.6.x                      |  Yes                No                          |  No         |  No      No                   | 
-| Drupal 7.x                        |  No                |  No(t yet)                   |  No(t yet) |  Yes    |  Yes                  | +| Earlier Drupal versions            Yes                No                          |  No         |  No      No                   | 
-| Drupal 6.x                        |  Yes                Yes                          Yes       |  Yes    |  No                   | +| AJAX                              |  No                |  Some autocompletion                     |                               | 
-| Drupal 5.x                        |  Yes                Yes                          Yes       |  No      No                   | +| Storage                            terms              nodes, content type       |  nodes (types ?)    |  any entity           
-| Drupal 4.7.x                      |  Yes                Yes                          No        |  No      No                   | +| Revision support                  |  No                |  core                        |  core                                     | 
-| Drupal 4.6.x                      |  Yes                No                          |  No        |  No      No                   | +| Simpletest                        |  No                |  A few                                            Yes                  
-| AJAX                              |  No                |  Some autocompletion                    |                               | +^ Services provided                                    ^                              ^             ^                               ^ 
-| Storage                            terms              nodes, single content type  |                    |  any entity           | +| multiple glossaries on one site    Yes                No                          |  No         |          Yes                  | 
-^ Services provided                                    ^                              ^            ^                               ^ +| RSS feeds on entries              |  core              |  No                          |  core (?)   |                               |  
-| multiple glossaries on one site    Yes                No                          |            |          Yes                  | +| RSS feeds on additional vocabularies |  No              core                        |  core       |          core                 | 
-| RSS feeds on entries              |  core              |  No                          |            |                               |  +| classify entries                  |  No                |  core taxonomy                core taxonomy      |  core fields          | 
-| RSS feeds on additional vocabularies |  No              core                        |            |          core                 | +| commenting on entries              No                |  core                        |  core       |          core, only on node storage 
-| classify entries                  |  No                |  core taxonomy                                  |  core fields          | +| private editorial information      No                |  Builtin                      Use CCK    |          core fields          | 
-| commenting on entries              No                |  core                        |            |          core, only on node storage +| alphabar maintenance              |  automatic          manual                      |             |          defaults + override 
-| private editorial information      No                |  Yes                                    |          core fields          | +| remote glossaries                  No                |  Yes, limited                |                      Yes                  | 
-| alphabar maintenance              |  automatic          manual                      |            |                               | +| steganographic content protection |                    |  No                          |                      Yes                  | 
-| content filtering, automatic      |  Yes                No                          |            |          Yes                  | +| RDF information                                      |  No                            [[http://drupal.org/node/1029544|Yes]] 
-content filteringexplicit       |  No                |  Yes, dfn element            |            |          Yes, custom element +^ i18n                              ^                    ^                              ^                                           ^ 
-feature blocks                    |  No                |  alphabar \\ latest \\ top \\ random \\ word of the day  | +| Translation template supplied      Yes                Yes                                                                   | 
-remote glossaries                 |  No                |  Yes, limited                |            |         |  Yes                  +| Multilingual blocks                                  |  No                          |             |                               | 
-Security                          |  core              |  core \\ XML-RPC access control \\ XML-RPC throttling  | | | | +Translatable content               Use i18nterms      Use i18ncontent              Use i18ncontent  |                         | 
-^ 3rd party integration                                ^                              ^            ^                               ^ +^ Feature blocks                    ^                    ^                              ^                                           ^ 
-| [[http://wiki.audean.com/g2/wishlist|Quality Agent]] |  No  |  No                                |          Yes                  | +| Alphabar                          |  No                |  Yes                          Use Views  |          Default View         | 
-| Views: basic                      |  core              |  core + specific                        |          core + specific      | +| Daily                              Yes                Yes                          Use Views  |          Default View         | 
-| Views: default views              |  No                |  No                          |            |          Yes                  | +| Latest                            |  No                |  Yes                          Use Views  |          Default View         | 
-| [[http://wiki.audean.com/g2/wishlist|Wikipedia]]  |  No  |  No                        |            |          Yes, with i18n       | +| Random                            |  Yes                Yes                          Use Views  |          Default View         | 
-| [[http://wiki.audean.com/g2/wishlist|Zeitgeist]] |  No  |  No                                    |          Yes                  | +| Search glossary                    Yes                No                          |  No                  Yes                  | 
-^ Performance                                          ^                              ^            ^                               ^ +^ Content filtering                 ^                    ^                              ^                                           ^ 
-| memory needs/number of entries    |  proportional      |  constant                               |                               | +| Input, automatic                  |  Yes                No                          |  No         |          Yes                  | 
-| speed on small glossaries          faster            |  slower                      |            |                               | +Inputautomatic, stop list       |  Single language    No                          |  No                  i18n support         | 
-| speed on large glossaries          slower with size  |  remains constant            |                    |                       | +| Input, explicit                   |  No                |  Yes, dfn element            |  No         |          Yes, custom element 
-^ Themeing                          ^                    ^                              ^            ^                               ^ +Output, automatic                 |  No                |  No                          |  Yes        |                               
-| - search form                      Yes                core                        |            |                               | +auto "title" on links             |  No                |  No                          |                      Teaser / Disambiguation        | 
-| - node overview                    Yes                core                        |            |                               | +| Disambiguation pages              |  n.a.              |  Yes, limited                |             |         |  default + override   
-| - definition fields                n.a.              |  Yes                                    |          core fields          | +Disambiguation targeting in links |  n.a.              |  No                                               Yes, on explicit     
-| - each feature block              |  n.a.              |  Yes                                    |                               | +^ 3rd party integration                                ^                              ^             ^                               ^ 
-| Implementation                    |  Templates          Theme functions                        |          Templates            | +| [[http://wiki.audean.com/g2/wishlist|Quality Agent]] |  No  |  No                                 |          Yes                  | 
-^ Developer features                ^                    ^                              ^            ^                               ^ +| Views: basic                      |  core              |  core + specific                         |          core + specific      | 
-| XML-RPC API                        No                |  alphabar \\ latest \\ top \\ random \\ word of the day  | +| Views: default views              |  No                |  No                          |             |          Yes                  | 
-| UI module separate from Data API  |  No                |  No                          |            |          Yes                  |+| [[http://wiki.audean.com/g2/wishlist|Wikipedia]]  |  No  |  No                        |             |          Yes, with i18n       | 
 +| [[http://wiki.audean.com/g2/wishlist|Zeitgeist]] |  No  |  No                                     |          Yes                  | 
 +^ Performance                                          ^                              ^             ^                               ^ 
 +| memory needs/number of entries    |  O(n)              |  O(1)                         O(n) (?)   |                               | 
 +| speed on small glossaries          faster            |  slower                      |  slower     |                               | 
 +| speed on large glossaries          slower with size  |  remains constant            |  slower with size   |                       | 
 +^ Themeing                          ^                    ^                              ^             ^                               ^ 
 +| - home page                                          |  core                        |                                           | 
 +| - search form                      Yes                core                        |  core       |                               | 
 +| - node overview                    Yes                core                        |  core       |                               | 
 +| - definition fields                n.a.              |  Yes                          Use CCK    |          core fields          | 
 +| - each feature block              |  n.a.              |  Yes                          Use Views  |                               | 
 +| Specific class on glossary links  |                    |  Yes                          Yes        |                               | 
 +| Implementation                    |  Templates          Theme functions                         |          Templates            | 
 +^ Developer features                ^                    ^                              ^             ^                               ^ 
 +| XML-RPC API                        No                |  alphabar \\ latest \\ top \\ random \\ word of the day  |  No  |          | 
 +| Web services security              n.a.              |  IP-based access control \\ throttling  |  n.a.  |                         
 +| UI module separate from Data API  |  No                |  No                          |             |          Yes                  |
  
  
Line 56: Line 77:
 ", as in all Open Source software. ", as in all Open Source software.
  
 +====== Documentation ======
  
- +  * Glossary 
-===== Rationale for G2 specificities  ===== +    [[http://cvs.drupal.org/viewvc.py/drupal/contributions/modules/glossary/README.txt?view=markup|README]] 
- +    [[http://drupal.org/node/196880|Handbook]] 
- +  * G2 
- +    * [[http://cvs.drupal.org/viewvc.py/drupal/contributions/modules/g2/README.txt?view=markup|README]] 
-  Optimization for large glossariesthis is the need expressed by OSInet, which funded development, to support its 5000+ term glossary of computing, for which glossary.module, even when coupled with flexinode to bind blob content to terms, is not really efficient enough. +    * [[http://wiki.audean.com/g2/start|Wiki]] 
- +  * Glossify 
-  Single glossarymultiple glossaries were not necessary to OSInet, which funded development +    * [[http://cvs.drupal.org/viewvc.py/drupal/contributions/modules/glossify/README.TXT?view=markup&pathrev=DRUPAL-6--1|README]]
- +
-  * Explicit linking to terms with dfn elements:  +
- +
-    * limits system workload +
- +
-    * allows invisible marking of entries made of other entries. ThinkXML-RPC, points to XML and to RPC with glossary.module and various wiki filters, but can point to 'XML-RPC' with G2Wrapping XML-RPC in quotes is necessary to allow linking to this entry in glossary, but the quotes remain visible, degrading the UI. +
- +
-    * allows redactor-level choice of  +
- +
-      * whether to link to an entryglossary always links if the term matches, which is not always meaningful ("and" can be present in a glossary and you don't want "and" to be linked from in all nodes on the site). +
- +
-      * where to link to an entry: glossary allows only a predefined set of positions (first, last or all matches) +
- +
-  * nodes vs terms: this is the most salient difference.  +
- +
-    * Using custom nodes (g2_entry in g2.module) allows large definitions, with the complete drupal feature set for nodes,  +
- +
-    * Using terms (glossary.module) allows definitions to be bound to custom nodes instead of being nodes on their own +
- +
-  * Alphabar maintenance: large glossaries will most of the time use all available initials, so the processing cost of maintaining it is not justifiable+
  
  
g2/choosing.txt · Last modified: 2023/05/27 16:05 by fgm