Page tree

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

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, 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 workers

editor_Models_Import_Worker_FileTree
editor_Models_Import_Worker_ReferenceFileTree
editor_Models_Import_Worker

triggers event importWorkerQueued

prepares the import end 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_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 for termtagging and associate a new term collection to the task

trigger event beforeDirectoryParsing

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

editor_Models_Import_DirectoryParser_WorkingFiles

trigger event beforeFileNodeCreate

editor_Models_Foldertree

editor_Models_Import_DirectoryParser_ReferenceFiles

editor_Models_RelaisFoldertree

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


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 a suitable FileParser:

editor_Plugins_VisualReview_XmlXsl_AlignParser

editor_Models_Import_FileParser_Transit

editor_Models_Import_FileParser_Xml

editor_Models_Import_FileParser_Xlf

editor_Models_Import_FileParser_Sdlxliff

editor_Models_Import_FileParser_Csv

editor_Models_Import_FileParser_XlfZend

editor_Models_Import_FileParser_DisplayTextXml

uses the segment processors to save each found segment

editor_Models_Import_SegmentProcessor_MqmParser

editor_Models_Import_SegmentProcessor_RepetitionHash

editor_Models_Import_SegmentProcessor_Review

syncFileOrder → syncs the order number of the files to the newly created segments

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

calculateMetrics (word and segment count)

editor_Workflow_Manager::initDefaultUserPrefs

trigger event importCleanup

TODO

Plugins durchgehen anhand der events

alter Ablauf durchschauen:

instances a editor_Models_Import_FileList

uses editor_Models_Import_DirectoryParser_WorkingFiles

uses editor_Models_Foldertree

uses editor_Models_Foldertree_SyncToFiles

does the import by calling importWithCollectableErrors

importMetaData → creates and uses editor_Models_Import_MetaData

imports the task template (FIXME should be in own editor_Models_Import_IMetaDataImporter extending class)

fires importMetaData to enable other code to addImporters

imports each configured Importer (added with addImporter)

editor_Models_Import_QmSubsegments is hardcoded (imports MQM XML file)

editor_Models_Import_TermListParser_Tbx is called when TermTagger Plugin is active (imports TBX)

fires beforeDirectoryParsing currently used by transit plugin to create the needed import files

importFiles

fetch files by calling FileList::processProofreadAndReferenceFiles 

 uses editor_Models_Import_DirectoryParser_WorkingFiles

uses editor_Models_Foldertree

uses editor_Models_Foldertree_SyncToFiles

fires afterDirectoryParsing

loops over the found files

creates a file type dependent FileParser Instance for each file

creates 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

parses the file and use the above created SegmentProcessors

does the file based word counting

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

fetch files by calling FileList::processRelaisFiles 

uses editor_Models_RelaisFoldertree

does the same as importFiles, but only with SegmentProcessor_Relais (extends ProofRead)

updateSegmentFieldViews → 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

used to trigger external / plugin stuff to be invoked when import and clean up are finished.

  • No labels