Diem 5.0.0_DEV
This version is under heavy development
Version notes
November 18, 2009
This is the first open source release of Diem!
A bit of history
Diem has been used for 2 years in a french agency to build dozens of websites.
In August 2009, the lead developer started to work on the fifth version, based on the symfony 1.3/1.4 branch. This new version is designed to have an opensource life.
Changelog
View the changelog on symfony trac
Sorry, the changelog is so big, the markdown parser can not transform it.> **Note**
> Diem development started with symfony 1.0 on late 2007. It is opensource since August 2009, so the changelog only starts to the 24/08/09.
* removed symply-buttons-v2 library
* removed deprecated dmAdminConfig.js and dmFrontConfig.js
* removed deprecated sfWidgetFormDmFilterDate and sfWidgetFormDmFilterInput classes
* fixed administration loremization links
* fixed various bugs in admin media library actions and forms
* improved admin media library look & feel
* made doctrine Sortable extension more robust
* fixed dmDoctrineFormFilterGenerator
* fixed PluginDmMedia->copyTo and PluginDmMedia->backup methods
* improved performances on PluginDmMediaTable
* improved xhr requests detection in dmWebRequest
* fixed ui.dialog overload in dmCoreEditPlugins when dialog lib is loaded asynchronously
* made $.dbg jQuery function more robust
* added exception when module has no table in dmWidgetProjectModelView->configure method
* made front list widget maxPerPage option not required (if null or ==0, all items are displayed)
* Allowed link drag & drop in admin markitup textareas
* fixed links to page record in admin
* made automatic page SEO preview more robust
* added dm_xhr parameter to all ajax calls
* made search engine update more robust and give more information on error
* fixed front widget ajax update when file uploaded
* fixed link drag & drop on front widgets
* made dmBaseActions->renderJson handle special case of json return as a response to a file upload with jquery.form
* added parent validation in dmModuleManagerConfigHandler
* improved performance on dmDoctrineQuery->withI18n method by allowing to pass the rootAlias as a parameter
* fixed dmForm->removeCsrfProtection to make it work even before the field has been set up
* made dmFileLog->getEntries method work even if function mb_strlen does not exist
* added dmMarkdown->replaceInternalLink method
* improved dmMarkdown->brutalToText to handle links
* fixed markdown tables
* cached width and height attribute in PluginDmMedia class
* handled pages with no more modules in PluginDmPage class, and allowed to delete them in front interface
* improved nearly all methods of PluginDmPageTable class to gain some boost
* disabled list page creation for modules without show page
* added keywords usage test in dmSearchPageDocument class
* made dmMediaTagImage show the original image when there is nothing (size, filter, overlay...) to modify in order to avoid PNG problems
* fixed front page tree pages urls
* improved dmWidgetNavigationBreadCrumbView class and added the dm.bread_crumb.filter_pages event to allow to filter and modify the pages list from outside
* dmWidgetListForm now defaults orderField to "position" for Sortable tables
* fixed dmWidgetContentMediaView->doRenderIndex
* dmWidgetAdvancedSearchFormView now defaults the query to the request query parameter if any
* made front search results widget maxPerPage field not required
* fixed various bugs in dmWidgetAdvancedSearchResultsView
* added titlePosition field in front text widget form (defaults to 'outside')
* made front code editor use the helper service to return the stylesheet path for asynchronous reload
* improved search results widget default template
* improved documentation
* addedDmTableRelationHolder->getForeignByClass method
* improved admin response automatic title
* added dmContext->reloadModuleManager method
* added anchor option to form rendering
* improved dmForm hidden field automatic rendering
* fixed dmFormDoctrine autoFieldsToUnset
* reloaded module manager during setup task
* added dmCoreLayoutHelper->getMetas method and improved metas rendering
* added dm.response.filter_metas filter to filter and modify the metas list just before rendering
* added validate option to automatic functional tests
* fxed dmConfigForm boolean widget defaults
* improved dmScriptNameResolver
* made dmAuth->signin redirect to front if user is not allowed to acces administration
* global cleanage
* removed deprecated models and modules for DmAbbr & DmLang
* refactored i18n message source to use pdo with doctrine connection
* removed deprecated admin filters dm_seo & dm_html
* added i18n and helper dependency to admin bread_crumb service
* replaced all remaining ugly static accesses by beautifull service container accesses
* added helper dependency to admin log_view service
* removed html validation because symfony 1.4 now does it in functional tests
* added dm_ prefix to template translation tables
* added helper dependency to the markdown service
* removed seo validation utilities
* removed automatic orderBy table options in Sortable doctrine extension because it makes complex requests fail
* removed deprecated dmInitFilter->saveHtml method
* cleaned dmWebResponse and asset compressors
* removed deprecated methods in dmBaseServiceContainer
* improved dmFrontFunctionalTest performance
* dmMediaTagImage->overlay now requires a dmMediaTagImage instance as argument
* removed html validation methods from javascript controllers
* cleaned widget views, dmFrontInitFilter and dmFrontBaseServiceContainer
* added dmFrontHelper & dmAdminHelper classes to implement the helper service
* made sitemap generation more robust
* moved mb_internal_encoding configuration to dmCorePluginConfiguration
* added configurable automatic ids for header in markdown service
* improved skeleton
* added helper service getter in dmBaseActions
* added truncation in log entries configuration
* allowed to add anchors to markdown internal links
* improved server check
* added helper service getter in layout_helper service
* removed deprecated dmWebDebugPanelTimer
* disabled automatic admin csv export as it is not ready yet
* added one service per link_tag type and media_tag type
* added ability to inject dmConfig values to the service container builder with dmServiceContainerLoaderConfiguration class
* added default title widget on project creation
* fixed dmPermissionsTask
* added permissions check to dmSetup task
* fixed refresh popup style in front
* added dmFrontDoctrineHelper->setContext method and made service container call it
* improved front component comments generation
* fixed dmFrontDoctrinePager bad links when refreshed with ajax
* made front default page layout more robust
* added dmUpgradeTask to ensure Diem backward compatibility
* deprecated dmGenerateMigrationTask and dmSpriteTask
* switched to symfony 1.4
* added gallery javascript admin controller
* added dmMailTemplate module
* removed deprecated dmModelGeneratorConfiguration and dmModelGeneratorConfigurationField classes
* fixed admin export and form class generation
* fixed dmAdminBreadcrumb and made it more flexible
* removed deprecated admin modules dmArea, dmPage, dmPageView, dmZone and dmWidget
* fixed admin chart showSuccess template when no image is available
* improved google webmaster tools interface
* added duplicate functionality to admin layout module
* fixed default admin passsword if database has no password
* added tree javascripts to core assets configuration
* added mail service
* added DmMailTemplate to cache_cleaner safe models configuration
* fixed DmPageView and DmLayout table declaration
* added french translations
* improved project skeleton
* fixed and improved dmBaseActions->download method
* added doctrine extension DmGallery
* added removeCsrfProtection, changeToEmail, submit and renderCsrfProtection methods to dmForm
* made many improvements in dmAdminGeneratorBuilder
* improved performances in PluginDmMediaFolderTable
* fixed automatic page view attribution to page model when its module or action has been changed
* created a new DmArea when a DmPageView is saved
* improved performances in PluginDmWidget getValues and setValues methods
* added service container dependency to dmWebResponse
* refactored dmWebResponse->getAssetAliases and dmWebResponse->getCdnConfig methods to lazy load them
* made dmAssetCompressor abstract class extend dmConfigurable
* refactor dmBaseServiceContainer to improve performances by loading only required services for the current request
* fixed dmAdminDoctrineGenerateModuleTask, dmAdminGenerateTask and dmSetupTask
* added getStylesheetWebPath, getStylesheetFullPath, getJavascriptWebPath and getJavascriptFullPath methods to helper service
* refactored asynchronous loading of stylesheets and javascripts on dmCoreEditCtrl.js
* replaced deprecated sfWidgetFormDoctrineSelect by sfWidgetFormDoctrineChoice in dmWidgetListForm and dmWidgetShowForm classes
* added checkBackground callback validator in dmWidgetContentMediaForm
* fixed dmWidgetContentMediaView->doRenderForIndex declaration and implementation
* added a search page check in dmWidgetAdvancedSearchFormForm->configure method
* removed csrf protection from dmSearchForm
* fixed dmWidgetContentTextView->doRenderForIndex method
* fixed dmFrontActionGenerator to make action classes extend dmFrontModuleActions and not dmFrontModuleComponents
* added front.base stylesheet to all front pages
* modified dmFrontUser to store the current theme key in the user attributes, instead of using directly its storage
* made front codeEditor actions use helper service to find related javascripts to load asynchronously
* improved performances on front page module actions and made the messages more polite
* made front page actions use helper service to find related javascripts to load asynchronously
* removed form csrf protection for front forms which need admin credentials
* improved the default search form
* made possible to skip the cssClass field in the dmWidgetContentMedia form template, and fixed coding standards
* fixed dmWidgetContentMediaForm jQuery selectors
* added postSave methods to user model classes according to sfDoctrineGuardPlugin evolution
* wrote some pieces of documentation and started building the diem website
* refactored the security plugin
* renamed dmMigrateTask to dmGenerateMigrationTask
* added admin user module classes for form and export
* updated all user related classes to match new security subframework
* changed all admin generator.yml table_method configuration to getAdminListQuery
* made command line installer more readable
* made cache_cleaner service extend dmConfigurable
* disabled model validation in dmModuleManagerConfigHandler
* fixed bug in dmDoctrineRecord->get
* fixed bug in dmAdminGenerateTask when generating diem modules
* fixed bug in dmDataTask when loading security groups
* improved dmLoremizeTask output
* fixed dmSecurityUser->signIn
* fixed auth module layout choice
* improved admin security modules configuration
* fixed admin user module
* made dmSecurityUser more robust and work without context instance
* fixed auth layout choice when redisplaying the form after a wrong password
* made possible to have 2 diem modules for 1 model
* configured with_doctrine_route: false in all generator.yml files
* made dmAPCCache more robust on cli environment
* made dmConfig survive when dm_settings table does not exist
* disabled all model checks in dmModuleManagerConfigHandler
* added a Doctrine_Connection parameter to dmDb::pdo
* fixed dmDoctrineQuery->whereDescendantId when the model has two or more diem modules
* fixed warnings in dmFormDoctrine when embedded forms have been unsetted
* fixed recursion madness in dmFileLog->fixLog
* removed seo title prefix & suffix from dmSeoSynchronizer
* fixed dmAdminFunctionalCoverageTest urls prefixes
* fixed dmCoreFunctionalCoverageTest user signin simulation
* made dmMediaResource throw an exception when the source is a new instance of DmMedia
* removed deprecated noRightClick jQuery function from dmCorePlugins.js
* fixed front widget filters and wrap classes
* fixed front ajax edit actions expect a put method instead of a post
* added dmUserPlugin tasks: change-password and promote
* added thread_launcher to the service container. It allows to run heavy manipulations (like page synchronization) in another php processus
* exploded the update_project action into 3 parts to avoid memory problems
* added ajax messages when updating the project
* huge performance improvement and 3x less memory usage in page_synchronizer and seo_synchronizer (use now pdo instead of doctrine when possible)
* added sfImageTransform default configuration
* selected useful classes of sfImageTransform and removed the other ones because the make the autoloader too big
* improved routing speed and memory usage in admin: each module now has only one route instead of 7
* fixed image size bug when image can not be scaled
* made page_tree_watcher_service extend dmConfigurable and added a use_thread option (can be set to auto)
* made possible to inject a module manager in a record
* improved automatic seo defaults
* improved all logs speed and usability
* added dmDb::pdo method to build raw pdo queries
* made possible to change dmContext class in dm::createContext
* removed dmContext dependency from dmModuleManagerConfigHandler
* added dmConfig::setCulture method to allow dmConfig to work without a context instance
* fixed dmString::slugify for french culture and improved its performances
* added dmString::convertBytes method to convert a shorthand byte value from a PHP configuration directive to an integer value
* added dmBaseActions::getBackUrl method to avoid redirections cycles
* reduced max size in log default options
* fixed many routing bugs due to recent admin routing refactoring
* improved accuracy & performances in log chart
* moved tons of code from generated admin classes to extended classes: admin is more DRY, lighter and more extensible
* removed deprecated classes dmDoctrineConfiguration, Doctrine_Cache_Dm, dmDoctrineTaggable
* removed doctrine_config service from service container
* made bread_crumb admin service shared and added an event connection to admin.edit_object to display current object name
* added admin.edit_object event notification to admin generated modules
* improved admin sent mails module interface
* added dmProjectConfiguration::configureDoctrineCache method which is run when project.yml configuration is loaded
* improved performance on dmConfig::load by using pdo statement
* simplified dmDoctrineQuery::dmCache method
* removed automatic doctrine cache usage from dmDoctrineRecord queries
* added dmMarkdown::brutalToText method which will be used by seo_synchronizer
* fixed bug in dmPageTreeWatcher use non-existant attribute moduleManager
* improved service container performances by using dmString::camelize in hasService and getService methods
* improved performance on dmTheme initialization
* added static cache option to widget types and module actions. It makes the cache non-contextual
* refactored dmWidgetBaseView for cleaner interface and faster execution
* added built-in cache in dmWidgetBaseView
* improved performances on front init filter when guessing the page from an ajax call
* refactored the automatic pages seo generator
* added dmDoctrineTable::getSeoColumns overridable method
* added jquery ui accordion assets
* made cache_cleaner service notify a dm.cache.clear_template event
* provided service container to doctrine tables
* fixed dmForm::renderSubmitTag input and dmForm::open method (defaults to POST)
* improved performances on front i18n by loading diem translations only if the user has edition credentials
* removed useless serialization on i18n message source cache methods
* made event_log service listen dm.cache.clear_template
* overrided PluginDmProfileTable::getSeoColumns to provide virtual access to username and email
* made page_tree_watcher synchronize seo when a DmAutoSeo object has been modified
* improved error handling when updated project with threads
* removed deprecated dm_xhr query parameter from jQuery ajax calls
* refactored seo_synchronizer service and added a validatePattern method
* added dmBaseServiceContainer::reload method to create a new shared service when its parameters has been changed
* added a symfony installer with a great command line configuration wizard
* renamed project.yml to config.yml
* removed deprecated dmActionLog module
* cleaned and completed skeleton
* removed deprecated common filter from filter.yml files
* fixed bug on dmLogChart when site is new
* cleaned dmAdminApplicationConfiguration
* improved chart interface and added useful error messages for disabled charts
* removed automatic lazy_cache_key configuration in dmCorePluginConfiguration
* added isModelSafe method in the cache_cleaner service to ignore some models when deciding if the template cache must be cleared
* added checkProjectIsSetup in dmContext
* fixed dmRequestLog when log is new
* fixed uri when no script name on dmRequestLogEntry
* improved dmServerCheck standalone class
* added the dm:server-check task which uses dmServerCheck
* added the dm:permissions and dm:publish-assets tasks
* fixed dm:setup when project has no models
* disabled logging during functional tests
* added DIEM_VERSION constant
* changed front routing class to dmFrontRouting in front factories
* added the project skeleton
* removed deprecated dmMediaTools static class by dispatching to services its responsabilities
* disabled log_chart service on the very beginning of the site's life
* added getMediaUrl method to admin routing
* simplified layout_helper services dependencies
* removed useless relationAssociation controller
* improved and cleaned relationForeign partial
* made service container listen the context.change_action and store the current module and action
* removed action_stack service from service container
* made search_index and helper service do not depend on the user
* made skeleton application settings more precise
* added getRouting method to dmBaseActions
* made cache_manager service notify a task.cache.clear event for compatibility with other plugins (like sfSuperCachePlugin)
* improved dmFileLog buffer system and removed deprecated method getFilteredEntries
* added filesystem dependency to front code generators
* tracked and destroyed nearly all sfContext::getInstance call (or similar bad static practice) in all codebase
* removed deprecated methods in dmHelper and fixed coding style in the others
* simplified widget_type_manager service dependencies
* added getPage method to abstract class dmWidgetProjectForm and used it in inherited classes to remove sfContext::getInstance calls
* improved the setup task with step by step doctrine migration wizard
* removed deprecated classes dmDoctrineMigrationBase & dmGenerateMigrationsDiff
* overriden sfDoctrineForm(Filter)Generator filterModels method to unset weird ToPrfxModels? generated by doctrine migrations
* improved all tasks output
* removed wrong assets symlink creation on publish assets task
* added dmMigrate task and dmDoctrineBuildFiltersTask
* added rotation to file logs
* made dmBrowser recognize google chrome
* fixed bug in front page edit actions
* made page synchronisation service more robust
* improved performances on dmHtmlTag
* added overlay feature on image tag
* fixed bug in media subframework when relative_url_root is not empty
* implemented a chart subframework based on pChart and GAPI
* improved content chart to make it show actual activity
* added see_chart credential
* added week_chart to service container
* made multi little charts load asynchronously
* added autoLoading method to javascript admin controller
* added server log chart to service container
* added server log mini chart to admin homepage
* added mem_peak_usage info to user log
* improved smart 404 feature to work even if search index is not updated
* improved activity and server chart
* fixed MVC in dmChart admin module
* implemented charts credentials checks
* added full google analytics configuration to dmGoogleAnalytics admin module
* added hiddenFields rendering to dmForm->render method
* added cache cleaner service to service container
* improved server chart memory scale
* added memory info to user log display
* added more delay to ajax autoloading components on admin
* removed useless dependence to event dispatcher in cache manager
* small performance improvement on dmDoctrineQuery
* replaced all widget view dependencies by a unique dependency to the context
* added widget type cachable option
* made widget forms and widget views throw exceptions when their module and/or action does not exist
* improved performances on widget type loading
* renamed actionLog to eventLog and userLog to requestLog
* improved logs views
* added filters on logs
* extended eventLog capabilities by listening more events
* added admin breadcrumb service to service container
* made dmSitemap notify an event when sitemap is written to disk
* improved ajax linux console look & feel
* made dmConfig notify an event when config is written to database
* added a nameBackup property to pages, which still contains the page name when the page is deleted (useful for logs)
* rewrote service manager events connections
* fixed incremental skeleton structure and content
* created seo_synchronizer service to update pages seo automatically
* created page_synchronizer service to create, delete and move pages automatically,
* replaced all dmServices by simple tasks
* improved loremization process in admin generated modules
* added labels to server chart based on event log
* added credential to clear the cache with the front & admin toolbar
* added service container dependence to page_tree_watcher
* improved clear cache process with tests and events
* added setting parameter to dm.config.updated event
* filtered internal config modification in event_log
* improved page_tree_watcher to use new synchronization services
* made dmDataTask, dmLoremizeTask, dmFrontGenerateTask, dmSearchUpdateTask, dmSetupTask and dmSpriteTask extend dmContextTask
* added exception in media_tag_image when file does not exist or is not an image
* compressed sprite stylesheets
* added page_not_found_handler service to front service container
* aded dm.page_not_found.before and dm.page_not_found.after events
* made front init filter use page_not_found_handler service to handle unknown slugs
* fixed bug in widget base view when view cache manager is not available
* adjusted each chart lifetime option in service container parameters
* renamed dmChart configure method to draw, and added an empty configure method
* added clear cache events on the server graph, and improved it globally
* applied some tricks to reduce the request log filesize
* added values on bar charts
* added getCurrentTranslation method to dmDoctrineRecords
* made media subframework more robust
* fixed bug when editing a page with some kind of module in front edition
* fixed major bug when using a dmDoctrineForm to update an object with dmFormManager
* cleaned dmAdmin actions
* fixed some bugs in admin interface
* made front components more robust
* fixed front widget edition
* added configureServiceContainer method to project configuration class to allow developer to configure the service container
* disabled admin list pager select when no results
* made admin javascript loading more precise
* added admin breadCrumb and search form on object creation interface
* removed all max_per_page configuration in generators
* fixed doctrine generated templates
* added module replacement in module manager config handler
* improved generator.yml file generation
* fixed bug in widget type manager
* removed links in front template generation when module has no page
* improved ajax error handling on front widget edition
* implemented form html generation chainability: echo $formname?->label('Name')->field()->error();
* made form field class overridable
* improved front actions class differential generation
* merged all Diem doctrine schemas into one
* removed deprecated dmMigrate task and dmBuildModel task
* improved size detection in media image tag
* added unbindKey jQuery method
* renamed formManager to forms in actions and components and made it implement ArrayAccess
* improved front slug generation
* added getHrefPrefix method to link subframework
* first alpha version of Diem5
* added preloadPagesForRecords method in dmDoctrineTable
* replaced front routing config handler by dmFrontRoutingConfigHandler to handle user special urls
* added preloadPages method to front actions and components
* added renderHead method to front layout helper service
* added dmRedirect module to allow seo team to perform 302 redirections without .htaccess
* added url_redirect permission
* added smart 404 functionality
* massive performance improvement on search index reconstruction
* added search_page service to service container
* added isIndexable attribute to widget view classes
* implemented fast and extensible indexation for model view widgets
* made form manager create non-existent forms on demand
* made form manager user model name as key
* modified front action generator according to previous modifications
* made list widgets acccept filter modules by local relation
* added admin modules google analytics & google webmaster tools
* fixed admin sort interface
* removed all hardcoded context creations
* removed some internal admin modules for performance boost on routing factory
* added canAccessToModule method to dmAdminUser
* admin list links to another module now check if user can access the module
* improved admin list associations and foreigns
* made doctrine page_schema more explicit
* module manager config handler now checks if a module is declared twice
* dmFrontWebController now generates redirection url before firing event
* improved performances on doctrine pager by caching results
* added isMarkdownColumn on dmDoctrineTable to check if a column is a markdown text
* removed automatic anchor from form actions
* added unMarkdown helper to convert a markdown text to a simple text
* improved performances in DmLayout model and DmPage table
* made dmStylesheetCompressor fixCssPaths method public to allow actions to use it
* great performance boost on search engine population by optimizing queries
* added more logs to search engine population
* made ui tabs, ui resizable, markdown javascript and stylesheets loaded on demand on front edition to reduce page load time
* removed useless jquery plugin jqtransform
* updated Zend Framework Search Lucene
* dynamically load widget forms js & css (tabs, markdown...) for performance reasons
* improved admin interface usability
* admin interface work like gmail
* splitted dmDoctrinePager in dmFrontDoctrinePager and dmAdminPager
* added doctrine pagers to service container
* added dmMarkdown to service container and made its methods non-static
* made front & admin edition template cache aware of user credentials
* admin look & feel general improvement by cleaning and improving stylesheets and javascripts
* added fluent interface to dmForm
* added dmGoogleWebmasterTools module
* fixed sfGuardPermission and sfGuardAuth admin modules compatibility with Diem admin generator
* restored auto seo filter
* removed sprite creation from setup service
* tricky interface improvements
* added code_editor_controller, code_editor_model and code_editor_view permissions
* added htmlWidth, htmlHeight and htmlSize methods to front media image tag
* updated jquery ui to 1.8a1 and fixed js code
* updated schema to remove doctrine validations
* removed outdated Zend Framework components and updated Zend Framework components to 1.9.3PL1
* disabled useless diem modules in admin configuration
* removed deprecated doctrine hydrator dmAssoc
* improved doctrine configuration
* improved performance on web debug panel and on DmMedia model
* made page record cache more precise gaining great performance boost on big sites
* decreased media bar thumbnails quality for faster load on browser
* replaced sfWebDebugPanelDoctrine by dmWebDebugPanelDoctrine to get query times in ms
* made module manager non-static and replaced static references to module manager everywhere
* added module manager to context factories
* added sfTemplate to vendor dir
* now all module configuration and hierarchy is preprocessed and cached
* added module path processing into config cache for performance
* splitted dmModuleConfigHandler in dmAdminModuleConfigHandler & dmModuleConfigHandler
* moved modules direct actions checks to config cache
* added ability to show / hide dispatcher dependencies in admin diagram generators
* added moduleManager dependency to dmWidgetBaseView
* improved performance in dmWidgetTypeManager
* fixed dmDoctrinePager Iterator interface borken by doctrine collection
* moved modules, module Spaces and moduleTypes slug generation to admin routing config cache
* refactored dmDoctrineTableExport
* added gmap configuration and jmap jquery plugin
* added dmResponse->withGoogleMap method
* improved admin homepage extensibility
* made admin actions and components overridable
* fixed doctrine admin module configuration
* added dmDoctrineForm unsetAutoFields method
* ajax responses now use json to pass multiple parameters
* added is_indexable i18n field to DmPage to know if web crawlers are allowed to access it
* added createI18nForm and mergeI18nForm methods to dmFormDoctrine
* deprecated model DmMetaWrap and replaced it by dmConfig
* removed mailer from factories and loaded only on demand for performance boost
* restored admin breadCrumb
* fixed dmGuardPlugin not loaded on certain tasks
* admin routing no more relies on i18N
* added conveniance methods to dmDoctrineRoute
* disabled APCCache opcode removal on clear cache to fix strange behaviours
* improved module manager config handler to make all its classes configurable in factories.yml
* moved module hierarchy consistency checks to config cache
* reduced memory print in admin
* added markdown helper
* improved image media tag exceptions management
* made admin homepage more extensible
* improved javascript performances by lazy loading menus
* added dmTableTag service to service container
* added getAssociationByRefClass method on relation holder
* dmStylesheetCompressor & dmJavascript Compressor are now decoupled and extensible
* removed deprecated classes dmStaticHelper, dmFrontRoutingConfigHandler
* improved performance on dmAdminPluginConfiguration & dmFrontPluginConfiguration
* improved performance loading sfService classes manually
* fixed some dependencies in many parts, replace singleton static instance request by sfService request
* moved front routing to dmFrontPlugin routing.yml file
* improved global decoupling using sfServiceContainer and sfEventDispatcher
* added dmThemeManager and dmTheme to sfServiceContainer
* improved theming capabilities
* improved dmAssetConfigHandler performances
* removed references to Symfony 1.3 deprecated stuff
* fixed admin list foreign records widget
* added more precise timer to dmWebDebugPanel (Symfony timer does not measure all request time)
* fixed admin table referers automatic sorting interface generation
* fixed admin table referers widget default sorting
* moved asset configuration to classes managed by sfServiceContainer
* removed deprecated dmAssetFilter classes
* improved global performance by disabling timers on prod environment
* fixed markdown editor on admin
* improved markdown javascript compression
* fixed zone rendering bug on dmFrontPageEditHelper
* removed all sfContext::getInstance() and related in dmMediaResource
* added unit-tests for dmMediaTag classes
* huge code refactoring (decoupling, extensibility, testability and performance improvements)
* added link subframework to service container
* fixed admin module space page show modules without routing configuration
* added getBaseFromUrl and getDataFromUrl static methods to dmString class
* made dmDoctrineRecord->getDmMediaByColumnName more robust
* made service container available in dmForm instances and dmHtml instances
* added clearStylesheets and clearJavacripts methods to dmWebResponse
* added action log managed by service container and event dispatcher
* added log abstract classes and refactored user log and action log to use them
* removed admin generator dependency to page tree watcher using event dispatcher
* added connectService method to service containers
* fixed admin form checkbox javascript controller
* removed service container dependency from widget view classes
* improved performances in dmFrontLayoutHelper class
* added ajaxified action log on admin homepage
* edited admin routing to make edit routes shorter
* modified join alias names on dmDoctrineQuery and dmDoctrineTable automatic joins
* improved performances and fixed dependencies in page model and widget model
* added late enabled check in asset compressors to allow user to disable them programatically in a controller
* added script name resolver to service container
* fixed bad default method table in admin generator builder
* working on DmSettings which allows to store configuration in the database
* updated dmDataService to provide default configuration
* removed SiteI18n Table
* fixed page tree style in front edition
* removed useless dm_site table and all dependencies to DmSite
* updated settings form
* fixed bad css compression on front when not logged
* improved admin modules security
* assigned credentials to admin module to unshow them in the menu
* speed up credential checks in dmUser
* removed deprecated dmGraphViz admin module
* fixed minor bugs in dmConfig admin interface
* added french translations
* updated configuration credentials
* fixed bug when an empty credential is sent to the user
* improved configuration panel
* fixed i18n initialization on dmDoctrine records
* added default settings to dmDataService
* improved admin & front toolbar
* implemented basic doctrine i18n fallback
* added tons of functional tests for i18n and settings
* moved default culture calculation to dmApplicationConfiguration
* removed deprecated dmYaml & dmYamlDumper
* fixed missing attribute in dmMediaImageTag when method is not fit
* improved performance on config loading by using doctrine statement
* implemented Symfony Dependency Injection Container in the following Diem services: search_engine, doctrine_config, filesystem, user_log, page_tree_watcher, file_backup, helper, cache_manager, sitemap, page_helper, widget_type_manager
* added event notification after serviceContainer creation
* made possible to customize the metaCache class
* improved performance on dmHtmlMenu
* updated diem to match new Symfony 1.3 requirements
* added autogenerated graphs
* added dmUserLogEntry, dmBrowser, dmWidgetView and dmAuthLayoutHelper to sfServiceContainer
* separated autogenerated database diagram in 3 parts (project, user and core)
* improved performance in dmAdminRecursivePageList and dmFrontRecursivePageList
* improved userLog and admin usability
* added symfony check_configuration.php to dmServerCheck and made sfGuardSignin extend BaseForm
* made sfWidgetFormDmDate extend sfWidgetFormI18nDate instead of sfWidgetFormDate and fixed jquery ui datepicker inclusion in forms that require it
* load current object variable in admin forms partials and components
* improved automatic i18n form merge in admin
* improved admin usability and fixed apc cache abstraction
* improved dmAPCCache (added prefixes to cache name)
* installed apc monitor and improved apc integration
* removed deprecated class dmAdminHelper
* fixed i18n date validator
* disabled symfony functional tests creation for admin
* revamped automatic media form embedding
* added automatic batch actions for record activation
* improved routing performance
* fixed admin doctrine selects must use defaut table sort
* improved admin list performance
* added badBrowser login page
* added select all / unselect all to multi checkbox admin fields
* fixed admin media form embedding
* added developer friendly method to perform custom joins in admin list query
* extended Zend CodeGenerator to fix indentation issues
* improvements on front edition and progressive code generation
* fixed i18n features and page creation
* moved doctrine filters creation to table
* huge performance boost
* added Zend Lucene
* updated search engine
* added dmServer module in admin which performs dmServerCheck and show phpinfo in a symfony secure way
* improved admin javascript
* added dmServer module to admin
* improved front edition and rich text widgets
* added user log
* renamed is_approved to is_active and some minor fixes