- Class ASS_AnswerBinaryState  
- Get rid of duplicate methods (hiding behind different names.  - Rework class to use a true binary state (boolean) instead of integer  - Rename class to something that matches the filename properly.  
- Global assClozeTestGUI::setQuestionTabs  ()
- : MOVE THIS STEPS TO COMMON QUESTION CLASS assQuestionGUI  
- Global assErrorTextGUI::setQuestionTabs  ()
- : MOVE THIS STEPS TO COMMON QUESTION CLASS assQuestionGUI  
- Global assFileUploadGUI::setQuestionTabs  ()
- : MOVE THIS STEPS TO COMMON QUESTION CLASS assQuestionGUI  
- Global assFlashQuestionGUI::setQuestionTabs  ()
- : MOVE THIS STEPS TO COMMON QUESTION CLASS assQuestionGUI  
- Global assImagemapQuestionGUI::setQuestionTabs  ()
- : MOVE THIS STEPS TO COMMON QUESTION CLASS assQuestionGUI  
- Global assJavaAppletGUI::setQuestionTabs  ()
- : MOVE THIS STEPS TO COMMON QUESTION CLASS assQuestionGUI  
- Global assMatchingQuestionGUI::setQuestionTabs  ()
- : MOVE THIS STEPS TO COMMON QUESTION CLASS assQuestionGUI  
- Global assMultipleChoiceGUI::setQuestionTabs  ()
- : MOVE THIS STEPS TO COMMON QUESTION CLASS assQuestionGUI  
- Global assOrderingHorizontalGUI::setQuestionTabs  ()
- : MOVE THIS STEPS TO COMMON QUESTION CLASS assQuestionGUI  
- Global assOrderingQuestionGUI::setQuestionTabs  ()
- : MOVE THIS STEPS TO COMMON QUESTION CLASS assQuestionGUI  
- Global assQuestionGUI::getSpecificFeedbackOutput  ($userSolution)
- Mark this method abstract!  
- Global assSingleChoiceGUI::setQuestionTabs  ()
- : MOVE THIS STEPS TO COMMON QUESTION CLASS assQuestionGUI  
- Global assTextQuestionGUI::setQuestionTabs  ()
- : MOVE THIS STEPS TO COMMON QUESTION CLASS assQuestionGUI  
- Global assTextSubsetGUI::setQuestionTabs  ()
- : MOVE THIS STEPS TO COMMON QUESTION CLASS assQuestionGUI  
- Global CleanUpTest::doTestBytes  ($head, $tail)
- document  
- Global CleanUpTest::doTestDoubleBytes  ($head, $tail)
- document  
- Global CleanUpTest::doTestTripleBytes  ($head, $tail)
- document  
- Global CleanUpTest::setUp  ()
- document  
- Global CleanUpTest::tearDown  ()
- document  
- Global CleanUpTest::testAllBytes  ()
- document  
- Global CleanUpTest::testAscii  ()
- document  
- Global CleanUpTest::testBomRegression  ()
- document  
- Global CleanUpTest::testChunkRegression  ()
- document  
- Global CleanUpTest::testDoubleBytes  ()
- document  
- Global CleanUpTest::testForbiddenRegression  ()
- document  
- Global CleanUpTest::testHangulRegression  ()
- document  
- Global CleanUpTest::testInterposeRegression  ()
- document  
- Global CleanUpTest::testLatin  ()
- document  
- Global CleanUpTest::testLatinNormal  ()
- document  
- Global CleanUpTest::testNull  ()
- document  
- Global CleanUpTest::testOverlongRegression  ()
- document  
- Global CleanUpTest::testSurrogateRegression  ()
- document  
- Global CleanUpTest::testTripleBytes  ()
- document  
- Global CleanUpTest::XtestAllChars  ()
- document  
- Module DifferenceEngine  
- document - document - document - document - indicate where diff.doc can be found. - document - document - document - document, bad name. - document - document - document - document 
- Class ilAdministrationExplorerGUI  
- : isClickable, top node id 
- Global ilassMarkTest::testSetMinimumLevel_High  ()
- Enhance documentation of class.assMark.php::setMinimumLevel();  - Enhance documentation of class.assMark.php::getMinimumLevel();   
- Global ilAssQuestionPageGUI::insertPageToc  ($a_output)
- : support question info and actions in the page XSL directly the current workaround avoids changing the COPage service 
- Global ilCalendarAgendaListGUI::__construct  (ilDate $seed)
- make parent constructor (initialize) and init also seed and other common stuff  
- Global ilCalendarAppointmentGUI::__construct  (ilDate $seed, ilDate $initialDate, $a_appointment_id=0)
- make appointment_id required and remove all GET request 
- Global ilCalendarAppointmentGUI::askEdit  ()
- works with milestones???  
- Global ilCalendarCopyFilesToTempDirectoryJob::createUniqueTempDirectory  ()
- refactor to new file system access Create unique temp directory  
- Global ilCalendarCopyFilesToTempDirectoryJob::getOutputType  ()
- output should be file type  
- Global ilCalendarDayGUI::__construct  (ilDate $seed_date)
- make parent constructor (initialize) and init also seed and other common stuff  
- Global ilCalendarInboxGUI::__construct  (ilDate $seed_date)
- make parent constructor (initialize) and init also seed and other common stuff  
- Global ilCalendarMonthGUI::__construct  (ilDate $seed_date)
- make parent constructor (initialize) and init also seed and other common stuff  
- Global ilCalendarViewGUI::getEvents  ()
- public or protected  
- Global ilCalendarWeekGUI::__construct  (ilDate $seed_date)
- make parent constructor (initialize) and init also seed and other common stuff  
- Global ilCalendarZipJob::run  (array $input, \ILIAS\BackgroundTasks\Observer $observer)
- use filsystem service  
- Global ilChatroom::addHistoryEntry  ($message, $recipient=null, $publicMessage=true)
- $recipient, $publicMessage speichern  
- Global ilChatroom::disconnectAllUsersFromAllRooms  ()
- nicht nur löschen, auch in Session Tabelle nachpflegen  
- Global ilChatroomTabGUIFactory::getLabel  ($tabDefinition, $id)
- : $tabDefinition sollte doch stets ein array und $id stets ein string sein, oder? Dann sollte man auch hier typehinten. (array $tabDefinition, string $id)  
- Global ilChatroomTaskHandlerTest::testRedirectIfNoPermission  ()
- Weak static call  
- Global ilChatroomUserTest::testGetUsernameFromIlObjUser  ()
- if required session value is not set, there will be a warning. Need to check if required value isset.  
- Global ilChatroomViewGUI::logout  ()
- logout user from room  
- Global ilCheckSumOfFileSizesJob::run  (array $input, \ILIAS\BackgroundTasks\Observer $observer)
- use filesystem service  
- Global ilCheckSumOfWorkspaceFileSizesJob::run  (array $input, \ILIAS\BackgroundTasks\Observer $observer)
- use filesystem service  
- Global ilCollectFilesJob::run  (array $input, \ILIAS\BackgroundTasks\Observer $observer)
- use filsystem service  
- Global ilCollectWorkspaceFilesJob::run  (array $input, \ILIAS\BackgroundTasks\Observer $observer)
- use filsystem service  
- Global ilConsultationHoursGUI::appointmentList  ()
- add list/filter of consultation hours if user is responsible for more than one other consultation hour series.  
- Global ilContainer::applyContainerUserFilter  ($objects, ilContainerUserFilter $container_user_filter=null)
- this deserces a decentralized general concept (consumers provide object filter types)  - move selects to respective components  
- Global ilContainerObjectiveGUI::getObjectiveResultSummary  ($a_has_initial_test, $a_objective_id, $a_lo_result)
- refactor to presentation class  
- Global ilCOPageHTMLExport::exportSupportScripts  ()
- : use ilPageContent js/css functions here (problem: currently they need a page object for init) 
- Global ilCopyFilesToTempDirectoryJob::createUniqueTempDirectory  ()
- refactor to new file system access Create unique temp directory  
- Global ilCopyFilesToTempDirectoryJob::getOutputType  ()
- output should be file type  
- Global ilCopyWorkspaceFilesToTempDirectoryJob::createUniqueTempDirectory  ()
- refactor to new file system access Create unique temp directory  
- Global ilCopyWorkspaceFilesToTempDirectoryJob::getOutputType  ()
- output should be file type  
- Global ilCounterDetector::trigger  ($params)
- Handle ignored $a_params. 
- Global ilCourseMembershipGUI::getLocalTypeRole  ($a_translation=false)
- refactor delete  
- Global ilDataDetector::trigger  ($params)
- Handle ignored $params. 
- Global ilExerciseManagementCollectFilesJob::createUniqueTempDirectory  ()
- refactor to new file system access Create unique temp directory  
- Global ilExSubmission::getFiles  (array $a_file_ids=null, $a_only_valid=false, $a_min_timestamp=null)
- this also returns non-file entries, rename this, see dev.txt.php  
- Global ilFileDataMail::initAttachmentMaxUploadSize  ()
- mjansen: Unfortunately we cannot reuse the implementation of ilFileInputGUI  
- Global ilGroupMembershipGUI::getLocalTypeRole  ($a_translation=false)
- refactor delete  
- Class ILIAS  
- review the concept how the object type definition is loaded. We need a concept to edit the definitions via webfrontend in the admin console.  
- Class ilLanguage  
- Das Datefeld wird bei Aenderungen einer Sprache (update, install, deinstall) nicht richtig gesetzt!!! Die Formatfunktionen gehoeren nicht in class.Language. Die sind auch woanders einsetzbar!!! Daher->besser in class.Format  
- Global ilLDAPServer::toggleDataSource  ($a_ldap_server_id, $a_auth_mode, $a_status)
- handle multiple ldap servers  
- Global ilLDAPUserSynchronisation::sync  ()
- Redirects to account migration if required  
- Global ilLoggingDBSettings::getLevelByComponent  ($a_component_id)
- better performance  
- Global ilLOSettings::getInitialTest  ()
- refactor  
- Global ilLOSettings::getQualifiedTest  ()
- refactor  
- Global ilLOSettings::getTestByType  ($a_type)
- refactor  
- Global ilLOSettings::getTests  ()
- refactor  
- Global ilLOSettings::isRandomTestType  ($a_type)
- refactor  
- Global ilLOSettings::setInitialTest  ($a_id)
- refactor  
- Global ilLOSettings::setQualifiedTest  ($a_id)
- refactor  
- Global ilLuceneSearchGUI::getDetails  ()
- rename  
- Global ilLuceneSearchGUI::getMimeDetails  ()
- rename  
- Global ilLuceneSearchGUI::getType  ()
- rename Needed for base class search form  
- Global ilLuceneUserSearchGUI::getDetails  ()
- rename  
- Global ilLuceneUserSearchGUI::getType  ()
- rename Needed for base class search form  
- Global ilLuceneUserSearchGUI::prepareOutput  ()
-   
- Global ilMediaPoolPage::lookupUsages  ($a_id, $a_incl_hist=true)
- : This should be all in one context -> mob id table  
- Global ilMembershipGUI::createMailSignature  ()
- better implementation Create Mail signature  
- Global ilMembershipGUI::printMembers  ()
- : refactor to own class  
- Global ilMembershipRegistrationCodes::register  ($a_user_id)
- Throw exeption if registration is impossible due to other restrictions. 
- Global ilMembershipRegistrationCodeUtils::useCode  ($a_code, $a_endnode)
- : throw an error if registration fails (max members, availibility...) 
- Class ilMembershipRegistrationSettings  
- course, groups) 
- Global ilNestedSetTree::moveToTrash  ($a_node_id)
- lock table locktable already active due to calling method  
- Global ilNotificationAdminSettingsForm::getGeneralSettingsForm  ()
- dirty...  - dirty...  - dirty...   
- Global ilNotificationGUI::getOSDNotificationsObject  ()
- this method should move to a better place as it handels channel sprecific things. @global ilUser $ilUser  
- Global ilNotificationSetupHelper::setupTables  ()
- hier wird ein fehler geworfen...  
- Global ilNotificationSystem::toUsers  (ilNotificationConfig $notification, $users, $processAsync=false)
- was ist hier?  
- Global ilObjCourseGUI::updateInfoObject  ()
- switch to form  
- Global ilObject::putInTree  ($a_parent_ref)
- role/rbac stuff 
- Global ilObjectCommonSettingsInterface::legacyForm  (ilPropertyFormGUI $form, ilObject $object)
- In the future a method form() should also act on new ui form containers. 
- Global ilObjMediaObject::lookupUsages  ($a_id, $a_include_history=true)
- : This should be all in one context -> mob id table  
- Global ilObjNotificationAdminGUI::saveGeneralSettingsObject  ()
- dirty... 
- Global ilObjNotificationAdminGUI::showGeneralSettingsObject  ($form=null)
- dirty... 
- Global ilObjQuestionPool::_getSelfAssessmentQuestionTypes  ($all_tags=false)
- Make it more flexible  
- Global ilPageObject::resolveResources  ($ref_mapping)
- : move this into proper "afterImport" routine that calls all PC components  
- Global ilPrivacySettings::checkExportAccess  ($a_ref_id, $a_user_id=0)
- rename  
- Global ilRbacReview::__getParentRoles  ($a_path, $a_templates)
- refactor rolf => DONE  
- Global ilRbacReview::__setProtectedStatus  ($a_parent_roles, $a_role_hierarchy, $a_ref_id)
- refactor rolf => DONE  
- Global ilRbacReview::__setRoleType  ($a_role_list)
- refactor rolf => DONE  
- Global ilRbacReview::__setTemplateFilter  ($a_templates)
- refactor rolf => DONE  
- Global ilRbacReview::_getOperationIdByName  ($a_operation)
- refactor rolf => DONE  
- Global ilRbacReview::_getOperationIdsByName  ($operations)
- refactor rolf => DONE  
- Global ilRbacReview::_getOperationList  ($a_type=null)
- refactor rolf => DONE  
- Global ilRbacReview::_groupOperationsByClass  ($a_ops_arr)
- refactor rolf => DONE  
- Global ilRbacReview::assignedGlobalRoles  ($a_usr_id)
- refactor rolf => DONE  
- Global ilRbacReview::assignedRoles  ($a_usr_id)
- refactor rolf => DONE  
- Global ilRbacReview::getActiveOperationsOfRole  ($a_ref_id, $a_role_id)
- refactor rolf => DONE  
- Global ilRbacReview::getAllOperationsOfRole  ($a_rol_id, $a_parent=0)
- refactor rolf => DONE  
- Global ilRbacReview::getAssignableChildRoles  ($a_ref_id)
- refactor rolf => Find a better name; reduce sql fields  
- Global ilRbacReview::getAssignableRoles  ($a_templates=false, $a_internal_roles=false, $title_filter='')
- refactor rolf => DONE  
- Global ilRbacReview::getAssignableRolesInSubtree  ($ref_id)
- refactor rolf => DONE  
- Global ilRbacReview::getFoldersAssignedToRole  ($a_rol_id, $a_assignable=false)
- refactor rolf => RENAME (rest done)  
- Global ilRbacReview::getGlobalAssignableRoles  ()
- refactor rolf => DONE  
- Global ilRbacReview::getGlobalRoles  ()
- refactor rolf => DONE  
- Global ilRbacReview::getGlobalRolesArray  ()
- refactor rolf => DONE  
- Global ilRbacReview::getLocalRoles  ($a_ref_id)
- refactor rolf => DONE  
- Global ilRbacReview::getNumberOfAssignedUsers  (array $a_roles)
- refactor rolf => DONE  
- Global ilRbacReview::getObjectOfRole  ($a_role_id)
- refactor rolf (due to performance reasons the new version does not check for deleted roles only in object reference) 
- Global ilRbacReview::getObjectReferenceOfRole  ($a_role_id)
- refactor rolf (no deleted check)  
- Global ilRbacReview::getObjectsWithStopedInheritance  ($a_rol_id, $a_filter=array())
- refactor rolf => DONE  
- Global ilRbacReview::getOperation  ($ops_id)
- refactor rolf => DONE  
- Global ilRbacReview::getOperationAssignment  ()
- refactor rolf => DONE  
- Global ilRbacReview::getOperations  ()
- refactor rolf => DONE  
- Global ilRbacReview::getOperationsByTypeAndClass  ($a_type, $a_class)
- refactor rolf => DONE  
- Global ilRbacReview::getOperationsOfRole  ($a_rol_id, $a_type, $a_parent=0)
- refactor rolf => DONE  
- Global ilRbacReview::getOperationsOnType  ($a_typ_id)
- rafactor rolf => DONE  
- Global ilRbacReview::getOperationsOnTypeString  ($a_type)
- rafactor rolf => DONE 
- Global ilRbacReview::getParentRoleIds  ($a_endnode_id, $a_templates=false)
- refactor rolf => DONE  
- Global ilRbacReview::getRoleFolderOfRole  ($a_role_id)
- refactor rolf => RENAME  
- Global ilRbacReview::getRoleListByObject  ($a_ref_id, $a_templates=false)
- refactor rolf => DONE  
- Global ilRbacReview::getRoleOperationsOnObject  ($a_role_id, $a_ref_id)
- rafactor rolf => DONE  
- Global ilRbacReview::getRolesByFilter  ($a_filter=0, $a_user_id=0, $title_filter='')
- refactor rolf => DONE  
- Global ilRbacReview::getRolesForIDs  ($role_ids, $use_templates)
- refactor rolf => DONE  
- Global ilRbacReview::getRolesOfObject  ($a_ref_id, $a_assignable_only=false)
- refactor rolf => DONE  
- Global ilRbacReview::getRolesOfRoleFolder  ($a_ref_id, $a_nonassignable=true)
- refactor rolf => RENAME  
- Global ilRbacReview::getTypeId  ($a_type)
- refactor rolf => DONE  
- Global ilRbacReview::getUserPermissionsOnObject  ($a_user_id, $a_ref_id)
- refactor rolf => DONE  
- Global ilRbacReview::hasMultipleAssignments  ($a_role_id)
- refactor rolf => DONE 
- Global ilRbacReview::isAssignable  ($a_rol_id, $a_ref_id)
- refactor rolf (expects object reference id instead of rolf) => DONE  
- Global ilRbacReview::isAssigned  ($a_usr_id, $a_role_id)
- refactor rolf => DONE  
- Global ilRbacReview::isAssignedToAtLeastOneGivenRole  ($a_usr_id, $a_role_ids)
- refactor rolf => DONE  
- Global ilRbacReview::isDeleteable  ($a_role_id, $a_rolf_id)
- refactor rolf => DONE  
- Global ilRbacReview::isDeleted  ($a_node_id)
- refactor rolf => DELETE method  
- Global ilRbacReview::isGlobalRole  ($a_role_id)
- refactor rolf => DONE  
- Global ilRbacReview::isProtected  ($a_ref_id, $a_role_id)
- refactor rolf => DONE  - refactor rolf => search calls @global ilDB $ilDB   
- Global ilRbacReview::isRoleAssignedToObject  ($a_role_id, $a_parent_id)
- refactor rolf => DONE (renamed)  
- Global ilRbacReview::isRoleDeleted  ($a_role_id)
- refactor rolf => DONE  
- Global ilRbacReview::isSystemGeneratedRole  ($a_role_id)
- refactor rolf => DONE  
- Global ilRbacReview::lookupCreateOperationIds  ($a_type_arr)
- refactor rolf => DONE  
- Global ilRbacReview::roleExists  ($a_title, $a_id=0)
- refactor rolf => DONE  
- Class ilRepositoryExplorerGUI  
- : isClickable, top node id 
- Global ilSCORM2004NodeGUI::showOrganization  ()
- : check if we need this  - : check if we need this  - : check if we need this  - : check if we need this   
- Global ilSCORM2004Sco::getMainObjectiveText  ()
- : This should be saved in a better way in the future  
- Global ilSearchSettings::getEnabledLuceneItemFilterDefinitions  ()
- This has to be defined in module.xml  
- Global ilSearchSettings::getLuceneItemFilterDefinitions  ()
- This has to be defined in module.xml  
- Class ilSetupLanguage  
- The DATE field is not set correctly on changes of a language (update, install, your stable). The format functions do not belong in class.Language. Those are also applicable elsewhere. Therefore, they would be better placed in class.Format  - This somehow needs to be reconciled with the base class and most probably be factored into two classes, one for management, one for retrieval.   
- Global ilSimpleDetector::trigger  ($params)
- Handle ignored $params. 
- Global ilStartUpGUI::processCode  ()
- has to be refactored. @global ilLanguage $lng @global type $ilAuth @global type $ilCtrl  
- Global ilStartUpGUI::showLoginPage  (ilPropertyFormGUI $form=null)
- check for forced authentication like ecs, ... Show login page  
- Global ilSubmissionsZipJob::run  (array $input, \ILIAS\BackgroundTasks\Observer $observer)
- use filsystem service  
- Global ilSurveyPageGUI::appendNewQuestionToSurvey  ($a_new_id, $a_duplicate=true, $a_force_duplicate=false)
- : move out of GUI class, see also ilObjSurvey->insertQuestion  
- Global ilSurveyPageGUI::movePage  ()
- this needs to be refactored outside of a GUI class, same with ilSurveyEditorGUI->insertQuestions  
- Global ilTestSessionFactory::getSessionByUserId  ($userId)
- : Björn, we also need to handle the anonymous user here  
- Global ilTimerDetector::trigger  ($params)
- Handle ignored $params. 
- Global ilTreeImplementation::getSubTreeIds  ($a_node_id)
- should be merged with getSubTree()  
- Global ilUserSearchOptions::_getSearchableFieldsInfo  ($a_admin=false)
- : implement a more general solution  
- Global ilWikiUtil::processInternalLinks  ( $s, $a_wiki_id, $a_mode=IL_WIKI_MODE_REPLACE, $a_collect_non_ex=false, $a_offline=false)
- We might want to use trim($tmp, "\n") here.  
- Global ilZipJob::run  (array $input, \ILIAS\BackgroundTasks\Observer $observer)
- use filsystem service  
- Module Parser  
- document, briefly. - document, briefly. 
- Global Parser::replaceInternalLinks  ($s)
- We might want to use trim($tmp, "\n") here.  
- Global Parser::replaceUnusualEscapes  ($url)
- This can merge genuinely required bits in the path or query string, breaking legit URLs. A proper fix would treat the various parts of the URL differently; as a workaround, just use the output for statistical records, not for actual linking/output.  
- Global Sanitizer::escapeClass  ($class)
- For extra validity, input should be validated UTF-8. 
- Global Sanitizer::setupAttributeWhitelist  ()
- Document it a bit  
- Global Sanitizer::validateTagAttributes  ($attribs, $element)
- Check for legal values where the DTD limits things.  - Check for unique id attribute :P   
- Global Securimage::generateWAV  ($letters)
- Add ability to merge 2 sound files together to have random background sounds  
- Global Title::newFromID  ($id)
- This is inefficiently implemented, the page row is requested but not used for anything else 
- Global Title::setFragment  ($fragment)
- clarify whether access is supposed to be public (was marked as "kind of public")  
- Global Title::userCanEditCssJsSubpage  ()
- XXX: this might be better using restrictions  
- Global Title::userCanRead  ()
- fold these checks into userCan()  
- Namespace Whoops\Run  
- when an error occured and clicking the back button to return to previous page the referer-var in session is deleted -> server error  - This class is a candidate for a singleton. initHandlers could only be called once per process anyways, as it checks for static $handlers_registered.