Tnv3/platforms

From TransitionWiki
< Tnv3
Revision as of 12:18, 3 September 2014 by Annesley (Talk | contribs)

Jump to: navigation, search

Inclusive programming community: we should consider also the programming community we want to create and support. so, for example adopting a Java framework would exclude anyone not capable of using / learning Java. adopting LAMP stack frameworks includes everyone because it is easy.

Including less capable programmers: less capable or less knowledgeable programmers will produce in-secure, low performance code bases that cause a lot of errors and fire-fighting. a community of these can make a considerable mess. the industry is in a mess at the moment because of the extensive bad use of Drupal. we don't want to spend all our resources helping fix bad code. Programming is a technical and academic discipline. for example: the vast majority of Drupal programmers have never read a book or taken a course on programming. the vast majority do not understand OO, or systems architecture.

Programming Culture: the type of people attracted to each framework and how easy they are to work with. whether they are technology focused or goal focused. if they will want to champion the tech, contribute to the tech, conform to the way that the framework is, or try to achieve the organisational goals.

Messaging to partner organisations: Other organisations may implement the same framework as us but with less resources. Does our choice affect their choice and what is our responsibility here?

Framework architecture quality: PHP is a loosely typed, late compiled extremely error prone language. The vast majority of web requests are simply to take MySQL -> HTML which takes a relational structure and converts it in to a hierarchical one. PHP is far too flexible for this.

Programming quality: consideration of possibilities, server situations, variable types, generic and future proof naming of variables, classes, etc. Use of OO / XML / XSL. Use of DRI, Stored Procedures, Views, etc.

RAD (Rapid Application Development): availability of plugins (modules), caching levels and the effect on speed of development / bug resolution when writing custom code.

Security and updates: number of security issues per week, amount of work required to fix them.

TN developer network idea: we could cheaply and quickly produce a basic distro that includes in-built IM networking capability to connect developers up to share good practice. we would IM any new distros as they install to say hello and offer free peer-to-peer advice. this would prevent chaos before it happens and develop an Open Source community that could pay dividends in the future.

The key message here with any hook based, community contributed LAMP stack is codeless, codeless, codeless! i.e. "have you tried this plugin", "there is something that we already use to do that". if we can't talk we can't prevent chaos...

Key feature sets we need

Views-like filtering and presentation

http://wordpress.org/plugins/query-wrangler/

CRM

Overview: http://www.google.com/trends/explore#q=sugar%20crm%2C%20civi%20crm http://paupress.com/pricing/

Location/ directory

http://wpgeodirectory.com/

Accessible starter theme/ Zen

https://wordpress.org/themes/atahualpa

The case for Wordpress TNv3

The case for Drupal TNv3