Todo List
Home  ->  Documentation home  ->  Atk index  ->  Todo List [ package: atk ]

Todo List

atk

atkNode::$m_cascadingAttribs
  • This should be moved to the delete handler, or should not be cached at all. (caching this on each load is slower than just retrieving the list when it's needed)
atkNode::$m_priority_actions
  • This, and the priority_min/max members, should be moved to the recordlist
atkNode::$m_relations
  • Remove this member, it's using memory while it's used only in the case of multilanguage node, and even then only on one occasion.
atkNode::$m_viewExcludes
  • This can probably be moved to the view handler.
atkNode::addToQuery()
  • The allfields parameter is too inflexible.
atkColorPickerAttribute
  • There are many global functions in the class file class.atkcolorpickerattribute.inc. These should be moved to private class methods.
atkController
  • Make this class a real singleton.
atkDateTimeAttribute::atkDateTimeAttribute()
  • I don't know who added the default_date and default_time parameters, but at least the atkDateAttribute doesn't support a default date. if you want to set a default date you should use initial_values anyways so I think the default_date / default_time parameters should be removed. But can we keep this backwards compatible somehow? At least now we are certain it doesn't work. ;) (PCV)
atkDGList
  • At the moment the grid component is based on atkRecordList legacy code. This code should be refactored / optimized but this also means that some backwards incompatible changes have to be made to the differen ATK attributes. For example, the component still uses the recordlist flags when calling attribute methods because the attributes are not 100% aware yet of the new datagrid.
  • Keyboard navigation is at the moment broken because we don't supply the navigation array. However, this should be done in a different way anyhow.
atkEncryption
  • Currently, 2 weak encryption implementations are available for testing purposes. Strong encryption using the mcrypt() php extension is yet to be implemented.
atkEventLog
  • Add visualisation of the log.
atkFileAttribute
  • - Code clean up (del variable is dirty)
    • Support for storing the file itself in the db instead of on disk.
atkFormatAttribute::atkFormatAttribute()
  • Support for other types of input, upper/lowercase support, escape possibility for using literal *'s. Also, variable length parts would be nice. Finally, there should be an option if 'AA' accepts 'z' or only 'zz'
atkGetSecurityManager()
  • Rewrite to a getInstance method in atkSecurityManager.
atkGetUser()
  • move to its own 'atkUser' class
atkGetUserId()
  • move to its own 'atkUser' class
atkManyToManyRelation
  • Improve multi-field support. For example setOwnerFields with multiple fields doesn't work properly at the moment. But it seems more code does not take multi-field support into account.
atkmenutools.inc
  • The global menu functions should be moved to a class (atkMenu?)
atkMockNode
  • mock every function call. This can't be done nicely until we feature PHP5. For now, we add mock methods on a per-need basis
atkMockSecurityManager
  • mock every function call. This can't be done nicely until we feature PHP5. For now, we add mock methods on a per-need basis
atkmoduletools.inc
  • Move the global methods to classes
atkMsSqlDb
  • - LIMIT and OFFSET support
    • REGEX support
    • SOUNDEX support
    • Support for DATE attribute
    • Support for TIME attribute
    • Support for DATETIME attribute
    Attributes and database functions not stated above are untested
atkPage
  • This should actually not be a singleton. HTML file generation scripts may need an instance per page generated.
atkSearchHandler
  • The admin action handler is called when a search is performed. This should be customizable in the future.
atkSecurityManager
  • Make a real singleton with a getInstance class.
atkTextAttribute
  • autadjust needs to be modified as not every character == 1 column, perhaps forcing every textattribute to use a non-proportional font?
atktools.inc
  • Document all of the functions
  • Move all these functions to relevant classes.
atkTreeNode
  • Documentation is outdated, and this class has not been ported yet to ATK5's new action handler mechanism, so it may not work.
atktreetools.inc
  • The atktreetools should be moved to the utils subpackage.
atkUpdatehandler
  • Add locking check for when an application calls an action_update on a locked node
atkurlencode()
  • Fix a problem where a string containing "_9" will be altered after encoding + decoding it.
browserInfo
  • Move this class to the utils subpackage dir.
atkNode::buildTabs()
  • Make translation of tabs module aware
atkTabbedPane::buildTabs()
  • Make translation of tabs module aware
class.atkcolorpickerattribute.inc
  • The colorpicker appears to support values such as 'red' to be entered in the popup (the edit of the attribute shows the correct color) although the value never passes the validation.
  • The colorpicker supports the first # to be optionally entered, but the edit of the attribute does not show the correct color.
  • The rgb color support in check_color() only works if another argument 'rgb' is passed, which never happens because only 1 argument is passed to that method from the atkColorPickerAttribute.
atkDGList::convertDataGridFlags()
  • this should be replaced in the long term
atkTreeNode::copyChildren()
  • shouldn't we recursively call copyDb here? instead of ourselves
decodeKeyValueSet()
  • we should also support <=>, >=, >, <=, <, <>
defaultconfig.inc.php
  • Make sure EVERY config variable is located here and properly documented.
atkCache_xcache::deleteAll()
  • Test this feature, on my server this didn't work for some reason. Don't forget to return 'true' after fixing this.
atkNode::deleteDb()
  • There's a discrepancy between updateDb, addDb and deleteDb: There should be a deleteDb which accepts a record, instead of a selector.
atkDateAttribute::draw()
  • The calendar doesn't use the min/max values?
  • We can't show a calendar when we have a year dropdown?
atkNode::editArray()
  • The editArray method should use a set of classes to build the form, instead of an array with an overly complex structure.
atkFileExport::export()
  • Currently supports only csv/excel mimetypes.
atkClassLoader::findAllClasses()
  • Make it search and support modules too.
atkDGIndex::getAvailableIndices()
  • Implement retrieval of available indices ourselves either part of this class or atkDataGrid. But first selectDb and countDb of atkNode should be refactored so we can create a small clean implementation.
Test_DbConfigs::getOracleGrants()
  • get grants for current user
atkAttribute::getRefreshCall()
  • add documentation for $focusFirstFormEl.
atkMultiSelectAttribute::getSearchCondition()
  • code below can't possibly work. really needs to be fixed.
atkFileAttribute::isAllowedFileType()
  • It turns out that handling mimetypes is not that easy the mime_content_type has been deprecated and there is no Os independend alternative! For now we only support a few image mime types.
atkOneToOneRelation::isEmpty()
  • This method is not currently implemented properly and returns false in all cases.
atkUpdatehandler::loadSuccessDialog()
  • document.location.href is problematic if you already clicked the save action on a normal edit page. If you use the editdialog after that and you save the dialog, the page will redirect to the index page of the application.
  • refresh only the recordlist not the full page.
atkAttribute::loadType()
  • add documentation about the searching argument. What does it do?
atkSecurityManager::log()
  • Logging should be moved to a separate atkLogger class.
atkMsSqlDb::query()
  • implement limit and offset support
atkMssqlQuery::regexpCondition()
  • fixme
atkPage::register_submitscript()
  • This is inconsequent, if multiple forms are present, each should have its own submitscripts. Should be moved to an atkForm class.
atkFileUtils::rmdirRecursive()
  • If one of the subdirs/files cannot be removed, you end up with a half deleted directory structure.
atkListAttribute::search()
  • Configurable rows
atkAttribute::search()
  • find a better way to search on onetomanys that does not require something evil in atkAttribute
atkMockNode::selectDb()
  • Handling atksearch in this method is dirty, this should be controlable with parameters.
atkNode::selectDb()
  • Handling atksearch in this method is dirty, this should be controlable with parameters.
atkMockNode::setResult()
  • Support parameter filtering
atkNode::setSearchAction()
  • Using func_get_args is non-standard. It's cleaner to accept an array.
smarty_resource_string_secure()
  • make this useful
smarty_resource_string_timestamp()
  • make string resource use timestamp feature
smarty_resource_string_trusted()
  • make this useful
atkMssqlQuery::soundexCondition()
  • fixme
atkOneToManyRelation::translateSelector()
  • when we translate the selector, we get the last used refKey but how do we know what is the right one?
atkMatrixRelation::validate()
  • Check if the input is acyclic when flag is set
atkNode::viewArray()
  • The viewArray method should use a set of classes to build the form, instead of an array with an overly complex structure.
atkXmlHandler::xml()
  • This handler can only handle 'simple' key/value attributes like atkAttribute. Relation support should be added.
atkDateAttribute::_autoCompleteDateString()
  • change this code when it's approaching 2050 :-)
  • make this suitable for other date formats like YYYY-MM-DD
atkOneToManyRelation::_getEmbeddedButtons()
  • Move this to a template
atkImportHandler::_getErrors()
  • make this use templates
atkTestCaseCollector::_isTestCaseInDisabledModule()
  • I decomposed this from atkTestSuite, but I doubt very much that it actually works and even if it does it is implemented in an ugly way and should be rewritten.
atkFormatAttribute::_pad()
  • specifier type is not yet used.
atkViewEditBase::_renderTabs()
  • this method seems broken by design, read comments for more info!
atkCache_memcache::__construct()
  • Add support for Memcache pools
Home | About | Contact