The document discusses strategies for launching websites quickly and cheaply using customizable packages called "Kickstarters" that include templates, modular Typoscript configurations, simplified backends, and recommendations for version control and common platforms for maintenance. It provides examples of existing Kickstarter packages from Busy Noggin and Web-Empowered Church that incorporate best practices for CSS frameworks, shared constants, and external Typoscript configurations.
19. Shared configuration with custom constants
# Define the date and time formats
constants.wec.dateFormat = %m/%d/%y
constants.wec.timeFormat = %I:%M %p
# Convert the date format of news to WEC constant defined value
plugin.tt_news {
displaySingle.date_stdWrap.strftime = {$constants.wec.dateFormat}
displayLatest.date_stdWrap.strftime = {$constants.wec.dateFormat}
displayList.date_stdWrap.strftime = {$constants.wec.dateFormat}
displaySingle.time_stdWrap.strftime = {$constants.wec.timeFormat}
displayLatest.time_stdWrap.strftime = {$constants.wec.timeFormat}
displayList.time_stdWrap.strftime = {$constants.wec.timeFormat}
}
# Convert the date format of blog comments to WEC Constant defined value.
plugin.tx_veguestbook_pi1 {
datetime_stdWrap.strftime= {$constants.wec.dateTimeFormat}
date_stdWrap.strftime= {$constants.wec.dateFormat}
time_stdWrap.strftime= {$constants.wec.timeFormat}
}
example: wec_constants
20. External Typoscript via TS Setup
<INCLUDE TYPOSCRIPT src=”fileadmin/resources/ts/menu.ts” />
External Typoscript via Extensions
<?php
t3lib_extMgm::addStaticFile($_EXTKEY,'static/ts/','My Menu');
?>
example: wec_constants
24. Groups and Permissions
• Keep configuration in groups not users
• Baseline group for common settings
• Task or section based groups applied to
pagetree
example: WEC Starter Package
25. TSConfig & TCA
// Allow additional fields to be excluded in user and group records.
$TCA['tt_content']['columns']['header_position']['exclude'] = 1;
$TCA['tt_content']['columns']['header_link']['exclude'] = 1;
// Force new content elements to be allowed before they appear.
$TCA['tt_content']['columns']['list_type']['config']['authMode'] = 'explicitAllow';
// If be_acl is loaded, hide its records from list view.
if (t3lib_extMgm::isLoaded('be_acl')) {
t3lib_extMgm::addPageTSConfig('
mod.web_list.hideTables := addToList(tx_beacl_acl)
');
}
example: wec_config
27. Build up or tear down?
Broad client base vs. niche markets
28. What goes into your package?
Extensions, Typoscript Libraries, etc.
29. The Busy Noggin Quicksite
http://templavoila.busynoggin.com
WEC Starter Package
http://www.webempoweredchurch.com
30. Credits
• Kickstarter Photo
http://www.flickr.com/photos/adifferentryan/133065997/
• One Size Fits All Photo
http://www.flickr.com/photos/angusf/2270317189/
Editor's Notes
Compare to developing TYPO3 from scratch. You wouldn’t do that, so why rebuild the same sites over and over again.
Long term maintenance costs decrease when a bugfix on one site works on many sites.
Copying and pasting code from existing sites serves as an informal reference library.
Copying and pasting code from existing sites serves as an informal reference library.
Not a one size fits all solution
Identify what YOU already when building sites and extract it into a formalized solution
For the WEC Starter Package, this means identifying a pagetree and extensions that fits the needs of most churches and gives them a point to start learning TYPO3.
Hope you attended Ron’s template talk yesterdayCSS FrameworksCommon FCEs that complement your CSS frameworkDefine a consistent base and customize on top of it
No need to worry about templates as extensions, just rely on version control
GMENU still useful in certain situations but simple markup + CSS takes care of most needs.
CSS Zen Garden
WEC Constants
Task-based groups
Keep groups as lean as possible
Not automated!
WEC Constants
Version control + extensions = quick and easy upgrades and rollbacks
Common platform means less worry when upgrading TYPO3
WEC targets churches and wants them to learn TYPO3 and be self sufficient. Thus, a comprehensive package where features will be disabled fits. Busy Noggin works with a diverse client base so a simple config where pieces are added fits better.
Open discussion about best practices and extensions