Ideas

  • constraints between pages, content records and media objects
  • master/slave environment with soap calls for publishing content AND structures
  • debug view of content record displays current key values
  • PhenotypeLayout_XX classes for different $myPage objects, a little bit like Silverstripe pages
  • non-recursive page vars
  • safe-mode
    • To avoid security breaches we should think about a safemode, which minimizes the risk of XSS/SQL Injection and Code Injection. The safe mode should combine default output escaping and deactivation of the php cache (simple html cache instead).
    • The fronted controller should not require but only output the cached files. That means partial caching of pages would be impossible by default.
    • All getter-methods should return escaped data. You must use getRaw() or something like that instead.

If you miss any feature in Phenotype, please add it to this list.

  • Helper for changing a specific property of all records of a content type (usefull when changing the name of a property for whatever reason)
  • displayXY convention for content records, that automatically display a template called XY and injecting $record to smarty
  • no more eval() for $mySmartyAccess. →display($template,$data=array()) instead, →assign(x,y)
  • rename many internal properties of template bearing objects (components, includes, content objects) to _xy or maybe another character
  • restructure application folder, every component ⇒ one folder with all component templates
    • additionally a *.info file is created to help navigation through the files (e.g. Project.info, News.info …)
  • Class Alias as property of component classes. Aliases gets registered, a _phpdoc.inc.php file for the application is created
    • Creation and management through system data object !!
  • content_data_editbuffer table for more sophisticated content editing (preview and ajax operations)
  • form_xy_ajaxfetch or form_xy_ajaxupdate as simple as possible to make optimize form elements like form_enum
  • 30sec tutorials: Screencasts with no explanation, to demonstrate typical use cases, like creating an layout, usage of include templates and so on
  • PT_CLOAK = ‘234hfjklhs’ ⇒ /admin/234hfjklhs/ … url_rewrite will provide 234hfjklhs as parameter to be processed
  • SEO Urls for media objects
    • Rewrite URL to media_seo_controller.php
    • Property per mediaobject
    • System data object to retrieve “real” url with little effort
  • memcache connection for system dataobjects
  • heap table for system dataobject
  • getters for mediaobjects and default assignment with meta data, internal properties always with _ (e.g. _folder1, _width …) Debug button!
  • tag cloud for blog on www.phenotype-cms.com, like here
  • use get_image as internal function of mediobject constructor!
  • garbage collection and maxsize for dataobjects
    • function to be implemented and called on reaching of maxsize
    • would randomly delete tokens for most system caching data objects
  • MYSQL nettrafic into debug bar
  • Nr. of PHP Hints/Notices into debug bar
  • default content object key management: mapping array with propertys ikeys = Array(“date”⇒1,”category”⇒2)
  • Peer→setFullRow, Peer→setMinimalRow
  • Media copy button
  • Replace Original version within image editor
  • Non destructive import of packages
    • When importing a package containing a content object or component with ID 123 an existing object using that ID should not be overwritten. The imported object should get the next available ID. This is important to build up a “plug-in” base and re-use existing components/content objects/extras in other projects.
  • realization of table prefixes the drupal way by writing every table as {table} and reparsing in the database class
  • form_keyed_category ⇒ autocomplete textfield for categorizing content fields and storing the value in a key field (which is also the base for the autocomplete)

You think Phenotype Wiki/Documentation could be better?
We too. Please contribute: Edit this page

Bookmark and Share