[TYPO3-core] RFC: initial cleaner backend

Ingo Renner ingo at typo3.org
Fri Oct 26 15:44:16 CEST 2007


Hi all,

This is an SVN patch request.

Type: Feature / Code cleanup

Bugtracker references:
http://bugs.typo3.org/view.php?id=6522
http://bugs.typo3.org/view.php?id=6583

Branches:
trunk

Problem:
the mission for TYPO3 4.x is usability to achieve this one major project 
of TYPO3 4.2 is to move some elements in the BE around.

Solution:
To get to the cleaner backend this is the first work that is done and is 
the base for upcoming work.

Notes:
What has been done?

* The backend has been moved to a new file (backend.php) and frames have 
been dropped in favor of directly rendering stuff into the document 
using divs and iframes.

* The menu i now based on ul/li
* the logo frame is gone
* the content frame has been moved into a iframe
* code for the menu generation has undergone a basic cleanup and moved 
to a separate class
* only code for the vertical menu was kept (as it's ul(li based you even 
do not need more then that)

Here's a little overview what has gone where (consider "moved" as 
"copied" and cleaned up in most cases):

class SC_alt_menu {
	init()
	mostly moved to ModuleMenu->__construct()
}


class alt_menu_functions {
	adminButtons()
	moved into public method ModuleMenu->renderCacheActions()

	adminFunctions()
	moved into private method ModuleMenu->initCacheActions()

	$fsMod
	generateMenuJScode()
	moved to ModuleMenu->getGotoModuleJavascript()

	getNavFramePrefix()
	moved to ModuleMenu->getNavigationFramePrefix()

	mIconFile()
	moved and cleaned up to Modulemenu->getModuleIconAbsolute()

	mIconFilename()
	moved and cleaned up to Modulemenu->getModuleIconRelative()

	topButtons()
	moved to ModuleMenu->renderLogoutButton()

	topMenu()
	only code for the vertical menu has survived and is now mostly
	in ModuleMenu->render(), ModuleMenu->renderSubModules()
	module switching JS is in ModuleMenu->getGotoModuleJavascript()

	wrapLinkWithAB()
	move to ModuleMenu->appendQuestionmarkToLink()
}


What still needs to be done?
* Folding is not yet implemented, as the rendering of sub modules is in 
a separate method this can be done via AJAX
*We need $BE_USER->uc updating through AJAX for storing the 
fold/unfolding state. (use typo3/mod.php by extending it with an ajax 
mode and implementing an eID like dispatcher)
* cache clearing functions need to be called through AJAX to not reload 
the whole backend
* The menu does not have styles yet
* the menu items will need more wrapper divs/spans for styling
* we need an option to choose this backend as default instead of the one 
we have now
* the top iframe needs to die, too as we need its space for workspace 
selector, shortcuts, logout cache actions logout and so on (this is also 
why these things aren't in yet)

Consider this request as a commit early, commit often patch.


Credits:
Dirk Jesse from yaml.de for his initial help with the frames2iframes layout
Kasper, Ingmar, and Benni for they help in making decissions
Jens for his cleaner backend screens


all the best
Ingo



-------------- next part --------------
A non-text attachment was scrubbed...
Name: 6583_6522.diff
Type: text/x-diff
Size: 43246 bytes
Desc: not available
Url : http://lists.netfielders.de/pipermail/typo3-team-core/attachments/20071026/2f7d25d2/attachment-0001.diff 


More information about the TYPO3-team-core mailing list