Classes and important methods are in bold, events are in italics.
TaskController::postAction
saves the task (project) entity to the database
...
creates a DataProvider, depending from where the data comes (Zip, Directory, SingleFile)
DataProvider → creates the import archive
creates one task for each target language out of the one task (project) previously saved
creates and calls editor_Models_Import::import(DataProvider)
uses the DataProvider to get and check the import data
triggers event afterUploadPreparation
sets several data in task and in editor_Models_Import_Configuration
locks the task with state import
triggers event beforeImport
prepares the import worker workers
editor_Models_Import_Worker_FileTree
editor_Models_Import_Worker_ReferenceFileTree
editor_Models_Import_Worker
triggers event importWorkerQueued
prepares the import end worker workers
editor_Models_Import_Worker_SetTaskToOpen → sets the task to its initial state (open|unconfirmed), runs only on a successful import
editor_Models_Import_Worker_FinalStep (runs always, also in the case of import errors)
triggers event importCompleted → notifies the GUI that the import is done (regardless of state error)
run the workers
called workers in detail:
editor_Models_Import_Worker
checks the serialized parameters
_FileTree
imports meta data from the import directory via editor_Models_Import_MetaData default meta data is listed below, new meta data importers can be added by plugins.
editor_Models_Import_MetaData_QmSubsegments → import XML MQM Subsegment definitions
...
editor_Models_Import_
...
MetaData_PixelMapping → import PixelMapping width definitions
editor_Models_Import_TermListParser_Tbx → import TBX data from the import package for termtagging and associate a new term collection to the task (if TBX provided in ZIP)
trigger event beforeDirectoryParsing
...
instances a editor_Models_Import_FileList → reads the available files and creates the working files (formerly review files), relais files and reference files file trees, by using
uses editor_Models_Import_DirectoryParser_WorkingFiles
trigger event beforeFileNodeCreate
uses editor_Models_Foldertree
editor_Models_Import_DirectoryParser_ReferenceFiles
editor_Models_RelaisFoldertree
uses editor_Models_Foldertree_SyncToFiles
...
trigger event afterDirectoryParsing
editor_Models_Import_Worker_ReferenceFileTree
...
editor_Models_Import_
...
FileList
editor_Models_Import_DirectoryParser_ReferenceFiles → possible bug, since called also in
...
editor_Models_Import
...
_Worker_FileTree Thomas Lauria
fires importMetaData to enable other code to addImporters
imports each configured Importer (added with addImporter)
editor_Models_Import_
...
Worker
checks the serialized parameters
calls editor_Models_Import_
...
Worker_Import::import
trigger event beforeImportFiles
import work files (importFiles)
loads the found files via editor_Models_Foldertree
loops over each to be imported file and
uses editor_Models_File_FilterManager to apply filters on each file
parses each file with a suitable FileParser:
editor_Plugins_VisualReview_XmlXsl_AlignParser
editor_Models_Import_FileParser_Transit
fires beforeDirectoryParsing currently used by transit plugin to create the needed import files
importFiles
...
uses editor_Models_Import_DirectoryParserFileParser_WorkingFilesXml uses
editor_Models_Import_FileParser_FoldertreeXlf
uses editor_Models_Import_FoldertreeFileParser_SyncToFiles
fires afterDirectoryParsing
loops over the found files
creates a file type dependent FileParser Instance for each file
Sdlxliff
editor_Models_Import_FileParser_Csv
editor_Models_Import_FileParser_XlfZend
editor_Models_Import_FileParser_DisplayTextXml
uses the segment processors to save each found segmentcreates the segment processors and link them to the fileparsers
editor_Models_Import_SegmentProcessor_MqmParser → stores MQM data
editor_Models_Import_SegmentProcessor_ProofRead → save the segment data
calls FileParser::parseFile
...
does the file based word counting
RepetitionHash
editor_Models_Import_SegmentProcessor_Review
syncFileOrder → syncs the order number of the files to the newly created segments
removeMetaDataTmpFiles → triggers meta data tmp clean up methods of each meta data importer
importRelaisFiles
...
import relais files (importRelaisFiles)
same logic as for importFiles, just using the relais files and editor_Models_Import_SegmentProcessor_Relais instead editor_Models_Import_SegmentProcessor_Review
...
creates the materialized view for the task
saves the task entity
fires importCleanup
used to trigger internal clean up stuff after import
triggers Transit Plugin Clean Up call
triggers $dataProvider->postImportHandler();
bound in __wakeup call of the dataProvider
weired here, since dataprovider instance is filled for import preparation outside of the worker,
but is needed for clean up after the worker is finished
fires afterImport
...
calculateMetrics (word and segment count)
editor_Workflow_Manager::initDefaultUserPrefs
trigger event importCleanup
Plugins
VisualReview
- invokes on editor_Models_Import[afterUploadPreparation]: prepares HTML via URL based visual review
- invokes on editor_Models_Import_Worker_FileTree[beforeDirectoryParsing]: prepares visual source files
- invokes on editor_Models_Import_Worker_FileTree[afterDirectoryParsing]: prepares and checks optional meta data for visual review (XLST etc).
- invokes on editor_Models_Import[afterImport]: queues the workers doing the visual review parts of the import:
- editor_Plugins_VisualReview_PdfToHtmlWorker
- editor_Plugins_VisualReview_WgetHtmlWorker
- editor_Plugins_VisualReview_HtmlImportWorker
- editor_Plugins_VisualReview_XmlXsltToHtmlWorker
- editor_Plugins_VisualReview_SegmentationWorker
TermTagger
- invokes on editor_Models_Import[afterImport]: starts the termtagging by queuing the editor_Plugins_TermTagger_Worker_TermTaggerImport workers
- invokes on editor_Models_Import_SegmentProcessor_Review[process]: sets each non editable segment to be ignored from termtagging (contrable via config)
- invokes on editor_Models_Import_MetaData[importMetaData]: adds the editor_Models_Import_TermListParser_Tbx importer to the MetaData importer list
- invokes on editor_TaskController[afterPostAction]: prepares HTML via URL based visual review
Okapi
- invokes on editor_Models_Import_Worker_FileTree[beforeDirectoryParsing]: reconfigures the import configuration based on the existence of a custom bconf file
- invokes on editor_Models_Import_Worker_FileTree[afterDirectoryParsing]: queues a editor_Plugins_Okapi_Worker worker for each file which is not processable with a local fileparser or filefilter. The worker sends the file to Okapi and waits until Okapi has processed the file.
- invokes on editor_Models_RelaisFoldertree[customHandleFile]: prepares the relais file filenames so that they match to the filenames with the added xlf suffix.
- invokes on editor_Models_Import_Worker_Import[importCleanup]: archives the files coming from Okapi by creating the OkapiArchive.zip
MatchAnalysis
- invokes on editor_TaskController[analysisOperation]: queues editor_Plugins_MatchAnalysis_BatchWorker if enabled, and editor_Plugins_MatchAnalysis_Worker which is doing the analysis
- invokes on editor_TaskController[pretranslationOperation]: queues editor_Plugins_MatchAnalysis_BatchWorker if enabled, and editor_Plugins_MatchAnalysis_Worker which is doing the analysis with pre-translation
LockSegmentsBasedOnConfig
- invokes on editor_Models_Import[afterImport]: does segment locking based on a flexible config