ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
All Data Structures Namespaces Files Functions Variables Modules Pages
ilLMContObjectManifestBuilder Class Reference

Content Object (ILIAS native learning module / digilib book) Manifest export class. More...

+ Collaboration diagram for ilLMContObjectManifestBuilder:

Public Member Functions

 __construct ($a_cont_obj)
 Constructor public. More...
 
 buildManifest ()
 build manifest structure More...
 
 dump ($a_target_dir)
 dump manifest file into directory More...
 
 writeItemHierarchy ()
 write item hierarchy More...
 
 writeResources ()
 write resources More...
 

Data Fields

 $db
 
 $cont_obj
 
 $inst_id
 

Detailed Description

Content Object (ILIAS native learning module / digilib book) Manifest export class.

Author
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e
Version
$Id$

Definition at line 15 of file class.ilLMContObjectManifestBuilder.php.

Constructor & Destructor Documentation

◆ __construct()

ilLMContObjectManifestBuilder::__construct (   $a_cont_obj)

Constructor public.

Definition at line 25 of file class.ilLMContObjectManifestBuilder.php.

References $DIC, and $ilDB.

26  {
27  global $DIC;
28 
29  $ilDB = $DIC->database();
30 
31  $this->cont_obj = $a_cont_obj;
32 
33  $this->db = $ilDB;
34 
35  $this->inst_id = IL_INST_ID;
36  }
global $ilDB
$DIC
Definition: xapitoken.php:46

Member Function Documentation

◆ buildManifest()

ilLMContObjectManifestBuilder::buildManifest ( )

build manifest structure

Definition at line 41 of file class.ilLMContObjectManifestBuilder.php.

References writeItemHierarchy(), writeResources(), and ilXmlWriter\xmlHeader().

42  {
43  $this->writer = new ilXmlWriter;
44 
45  // set xml header
46  $this->writer->xmlHeader();
47 
48  // manifest start tag
49  $attrs = array();
50  $attrs["identifier"] = "il_" . IL_INST_ID . "_" . "man" .
51  "_" . $this->cont_obj->getId();
52  $attrs["version"] = "";
53  $attrs["xmlns:xsi"] = "http://www.w3.org/2001/XMLSchema-instance";
54  $attrs["xsi:schemaLocation"] = "http://www.imsproject.org/xsd/imscp_rootv1p1p2" .
55  " imscp_rootv1p1p2.xsd" .
56  " http://www.imsglobal.org/xsd/imsmd_rootv1p2p1" .
57  " imsmd_rootv1p2p1.xsd" .
58  " http://www.adlnet.org/xsd/adlcp_rootv1p2" .
59  " adlcp_rootv1p2.xsd";
60  $attrs["xmlns:imsmd"] = "http://www.imsproject.org/xsd/imsmd_rootv1p2p1";
61  $attrs["xmlns:adlcp"] = "http://www.adlnet.org/xsd/adlcp_rootv1p2";
62  $attrs["xmlns"] = "http://www.imsproject.org/xsd/imscp_rootv1p1p2";
63  $this->writer->xmlStartTag("manifest", $attrs);
64 
65  // organizations start tag
66  $attrs = array();
67  $this->writer->xmlStartTag("organizations", $attrs);
68 
69  // organization start tag
70  $attrs = array();
71  $attrs["identifier"] = "il_" . IL_INST_ID . "_" . $this->cont_obj->getType() .
72  "_" . $this->cont_obj->getId();
73  $attrs["structure"] = "hierarchical";
74  $this->writer->xmlStartTag("organization", $attrs);
75 
76  // title element
77  $attrs = array();
78  $this->writer->xmlElement("title", $attrs, $this->cont_obj->getTitle());
79 
80  // write item hierarchy
81  $this->writeItemHierarchy();
82 
83  // organization end tag
84  $this->writer->xmlEndTag("organization");
85 
86  // organizations end tag
87  $this->writer->xmlEndTag("organizations");
88 
89  // resources start tag
90  $attrs = array();
91  $this->writer->xmlStartTag("resources", $attrs);
92 
93  // write resources
94  $this->writeResources();
95 
96  // resources end tag
97  $this->writer->xmlEndTag("resources");
98 
99  // manifest end tag
100  $this->writer->xmlEndTag("manifest");
101 
102  // write manifest file
103  //$this->xml->xmlDumpFile($this->export_dir."/".$this->subdir."/".$this->filename
104  // , false);
105 
106  // destroy writer object
107  $this->writer->_XmlWriter;
108  }
XML writer class.
xmlHeader()
Writes xml header public.
+ Here is the call graph for this function:

◆ dump()

ilLMContObjectManifestBuilder::dump (   $a_target_dir)

dump manifest file into directory

Definition at line 113 of file class.ilLMContObjectManifestBuilder.php.

114  {
115  $this->writer->xmlDumpFile($a_target_dir . "/imsmanifest.xml", false);
116  }

◆ writeItemHierarchy()

ilLMContObjectManifestBuilder::writeItemHierarchy ( )

write item hierarchy

this first version only writes one item for the whole learning module

Definition at line 123 of file class.ilLMContObjectManifestBuilder.php.

Referenced by buildManifest().

124  {
125  // start item
126  $attrs = array();
127  $attrs["identifier"] = "INDEX";
128  $attrs["identifierref"] = "RINDEX";
129  $this->writer->xmlStartTag("item", $attrs);
130 
131  // title element
132  $attrs = array();
133  $this->writer->xmlElement("title", $attrs, $this->cont_obj->getTitle());
134 
135  // end item
136  $this->writer->xmlEndTag("item");
137  }
+ Here is the caller graph for this function:

◆ writeResources()

ilLMContObjectManifestBuilder::writeResources ( )

write resources

this first version only writes one resource for the whole learning module

Definition at line 145 of file class.ilLMContObjectManifestBuilder.php.

Referenced by buildManifest().

146  {
147  $attrs = array();
148  $attrs["identifier"] = "RINDEX";
149  $attrs["type"] = "webcontent";
150  $attrs["adlcp:scormtype"] = "asset";
151  $attrs["href"] = "res/index.html";
152  $this->writer->xmlElement("resource", $attrs, "");
153  }
+ Here is the caller graph for this function:

Field Documentation

◆ $cont_obj

ilLMContObjectManifestBuilder::$cont_obj

Definition at line 18 of file class.ilLMContObjectManifestBuilder.php.

◆ $db

ilLMContObjectManifestBuilder::$db

Definition at line 17 of file class.ilLMContObjectManifestBuilder.php.

◆ $inst_id

ilLMContObjectManifestBuilder::$inst_id

Definition at line 19 of file class.ilLMContObjectManifestBuilder.php.


The documentation for this class was generated from the following file: