<freeStyleBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='com.cloudbees.jenkins.GitHubPushCause'><shortDescription>Started by GitHub push by Mandvii</shortDescription></cause></action><action></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><origindev-irc-sprint6 _class='hudson.plugins.git.util.Build'><buildNumber>13</buildNumber><marked><SHA1>75ccf809db3e9a42cb914e78c0f3754b0f54fd4e</SHA1><branch><SHA1>75ccf809db3e9a42cb914e78c0f3754b0f54fd4e</SHA1><name>origin/dev-irc-sprint6</name></branch></marked><revision><SHA1>75ccf809db3e9a42cb914e78c0f3754b0f54fd4e</SHA1><branch><SHA1>75ccf809db3e9a42cb914e78c0f3754b0f54fd4e</SHA1><name>origin/dev-irc-sprint6</name></branch></revision></origindev-irc-sprint6><originios _class='hudson.plugins.git.util.Build'><buildNumber>6</buildNumber><marked><SHA1>9ebd32140808091146e4c738507da04e02a17c99</SHA1><branch><SHA1>9ebd32140808091146e4c738507da04e02a17c99</SHA1><name>origin/ios</name></branch></marked><revision><SHA1>9ebd32140808091146e4c738507da04e02a17c99</SHA1><branch><SHA1>9ebd32140808091146e4c738507da04e02a17c99</SHA1><name>origin/ios</name></branch></revision></originios><origincontententry-irc-join _class='hudson.plugins.git.util.Build'><buildNumber>7</buildNumber><marked><SHA1>6635676bd44b40db0d58a4086f3ecc58f2acc893</SHA1><branch><SHA1>6635676bd44b40db0d58a4086f3ecc58f2acc893</SHA1><name>origin/contententry-irc-join</name></branch></marked><revision><SHA1>6635676bd44b40db0d58a4086f3ecc58f2acc893</SHA1><branch><SHA1>6635676bd44b40db0d58a4086f3ecc58f2acc893</SHA1><name>origin/contententry-irc-join</name></branch></revision></origincontententry-irc-join><origindev-irc-sprint3 _class='hudson.plugins.git.util.Build'><buildNumber>8</buildNumber><marked><SHA1>26ff16a6da45e3ac40ed59251253bf6baa014b14</SHA1><branch><SHA1>26ff16a6da45e3ac40ed59251253bf6baa014b14</SHA1><name>origin/dev-irc-sprint3</name></branch></marked><revision><SHA1>26ff16a6da45e3ac40ed59251253bf6baa014b14</SHA1><branch><SHA1>26ff16a6da45e3ac40ed59251253bf6baa014b14</SHA1><name>origin/dev-irc-sprint3</name></branch></revision></origindev-irc-sprint3><origindev-hbm _class='hudson.plugins.git.util.Build'><buildNumber>9</buildNumber><marked><SHA1>22583eafe9c03bd88c0f3928c7ed036f9bdeedac</SHA1><branch><SHA1>22583eafe9c03bd88c0f3928c7ed036f9bdeedac</SHA1><name>origin/dev-hbm</name></branch></marked><revision><SHA1>22583eafe9c03bd88c0f3928c7ed036f9bdeedac</SHA1><branch><SHA1>22583eafe9c03bd88c0f3928c7ed036f9bdeedac</SHA1><name>origin/dev-hbm</name></branch></revision></origindev-hbm><origindev-irc-sprint4 _class='hudson.plugins.git.util.Build'><buildNumber>10</buildNumber><marked><SHA1>e3214b455ad68855e810e5930f9e857333903c64</SHA1><branch><SHA1>e3214b455ad68855e810e5930f9e857333903c64</SHA1><name>origin/dev-irc-sprint4</name></branch></marked><revision><SHA1>e3214b455ad68855e810e5930f9e857333903c64</SHA1><branch><SHA1>e3214b455ad68855e810e5930f9e857333903c64</SHA1><name>origin/dev-irc-sprint4</name></branch></revision></origindev-irc-sprint4><origindev-version-update _class='hudson.plugins.git.util.Build'><buildNumber>12</buildNumber><marked><SHA1>d7578857c3a1452692335dbc673cf3e3769c3d86</SHA1><branch><SHA1>d7578857c3a1452692335dbc673cf3e3769c3d86</SHA1><name>origin/dev-version-update</name></branch></marked><revision><SHA1>d7578857c3a1452692335dbc673cf3e3769c3d86</SHA1><branch><SHA1>d7578857c3a1452692335dbc673cf3e3769c3d86</SHA1><name>origin/dev-version-update</name></branch></revision></origindev-version-update><origindev-kotlin-multi-goldozi-sprint4 _class='hudson.plugins.git.util.Build'><buildNumber>15</buildNumber><marked><SHA1>6649a6706012ea4318345e61a11588b547578469</SHA1><branch><SHA1>6649a6706012ea4318345e61a11588b547578469</SHA1><name>origin/dev-kotlin-multi-goldozi-sprint4</name></branch></marked><revision><SHA1>6649a6706012ea4318345e61a11588b547578469</SHA1><branch><SHA1>6649a6706012ea4318345e61a11588b547578469</SHA1><name>origin/dev-kotlin-multi-goldozi-sprint4</name></branch></revision></origindev-kotlin-multi-goldozi-sprint4><originxapi-statements _class='hudson.plugins.git.util.Build'><buildNumber>41</buildNumber><marked><SHA1>1338cd139a5991fb5b795f50052f0a13df7e0c7f</SHA1><branch><SHA1>1338cd139a5991fb5b795f50052f0a13df7e0c7f</SHA1><name>origin/xapi-statements</name></branch></marked><revision><SHA1>1338cd139a5991fb5b795f50052f0a13df7e0c7f</SHA1><branch><SHA1>1338cd139a5991fb5b795f50052f0a13df7e0c7f</SHA1><name>origin/xapi-statements</name></branch></revision></originxapi-statements><origindev-goldozi-sprint5 _class='hudson.plugins.git.util.Build'><buildNumber>14</buildNumber><marked><SHA1>ea6901cda940906daacc38122f89feefe5cfe718</SHA1><branch><SHA1>ea6901cda940906daacc38122f89feefe5cfe718</SHA1><name>origin/dev-goldozi-sprint5</name></branch></marked><revision><SHA1>ea6901cda940906daacc38122f89feefe5cfe718</SHA1><branch><SHA1>ea6901cda940906daacc38122f89feefe5cfe718</SHA1><name>origin/dev-goldozi-sprint5</name></branch></revision></origindev-goldozi-sprint5><originmain _class='hudson.plugins.git.util.Build'><buildNumber>43</buildNumber><marked><SHA1>cf3ed8c914c86fee969cc4c62c422af38f19e307</SHA1><branch><SHA1>cf3ed8c914c86fee969cc4c62c422af38f19e307</SHA1><name>origin/main</name></branch></marked><revision><SHA1>cf3ed8c914c86fee969cc4c62c422af38f19e307</SHA1><branch><SHA1>cf3ed8c914c86fee969cc4c62c422af38f19e307</SHA1><name>origin/main</name></branch></revision></originmain><origingenerate-manifest _class='hudson.plugins.git.util.Build'><buildNumber>45</buildNumber><marked><SHA1>fd6e9bf9fc889215be214527e7362f970947b15d</SHA1><branch><SHA1>fd6e9bf9fc889215be214527e7362f970947b15d</SHA1><name>origin/generate-manifest</name></branch></marked><revision><SHA1>fd6e9bf9fc889215be214527e7362f970947b15d</SHA1><branch><SHA1>fd6e9bf9fc889215be214527e7362f970947b15d</SHA1><name>origin/generate-manifest</name></branch></revision></origingenerate-manifest><origindev-goldozi-sprint0 _class='hudson.plugins.git.util.Build'><buildNumber>11</buildNumber><marked><SHA1>c9857de825d7d16ffc9f4b013139b31016a91699</SHA1><branch><SHA1>c9857de825d7d16ffc9f4b013139b31016a91699</SHA1><name>origin/dev-goldozi-sprint0</name></branch></marked><revision><SHA1>c9857de825d7d16ffc9f4b013139b31016a91699</SHA1><branch><SHA1>c9857de825d7d16ffc9f4b013139b31016a91699</SHA1><name>origin/dev-goldozi-sprint0</name></branch></revision></origindev-goldozi-sprint0><origindev-opdsfeed _class='hudson.plugins.git.util.Build'><buildNumber>60</buildNumber><marked><SHA1>638265123b7791319e567e228c1b387ca4ea59b8</SHA1><branch><SHA1>638265123b7791319e567e228c1b387ca4ea59b8</SHA1><name>origin/dev-opdsfeed</name></branch></marked><revision><SHA1>638265123b7791319e567e228c1b387ca4ea59b8</SHA1><branch><SHA1>638265123b7791319e567e228c1b387ca4ea59b8</SHA1><name>origin/dev-opdsfeed</name></branch></revision></origindev-opdsfeed><originshrink-xapi _class='hudson.plugins.git.util.Build'><buildNumber>42</buildNumber><marked><SHA1>750a58414a7a7619d10783c4b093f86dbe4f0dd0</SHA1><branch><SHA1>750a58414a7a7619d10783c4b093f86dbe4f0dd0</SHA1><name>origin/shrink-xapi</name></branch></marked><revision><SHA1>750a58414a7a7619d10783c4b093f86dbe4f0dd0</SHA1><branch><SHA1>750a58414a7a7619d10783c4b093f86dbe4f0dd0</SHA1><name>origin/shrink-xapi</name></branch></revision></originshrink-xapi></buildsByBranchName><lastBuiltRevision><SHA1>638265123b7791319e567e228c1b387ca4ea59b8</SHA1><branch><SHA1>638265123b7791319e567e228c1b387ca4ea59b8</SHA1><name>origin/dev-opdsfeed</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/ZIM2Xapi.git</remoteUrl><scmName></scmName></action><action></action><action _class='hudson.tasks.junit.TestResultAction'><failCount>1</failCount><skipCount>0</skipCount><totalCount>228</totalCount><urlName>testReport</urlName></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'><artifactsUrl>https://devserver3.ustadmobile.com/jenkins/job/Zim2Xapi-Cypress-Tests/60/artifact</artifactsUrl><changesUrl>https://devserver3.ustadmobile.com/jenkins/job/Zim2Xapi-Cypress-Tests/changes</changesUrl><displayUrl>https://devserver3.ustadmobile.com/jenkins/job/Zim2Xapi-Cypress-Tests/60/</displayUrl><testsUrl>https://devserver3.ustadmobile.com/jenkins/job/Zim2Xapi-Cypress-Tests/60/testReport</testsUrl></action><building>false</building><displayName>#60</displayName><duration>961412</duration><estimatedDuration>967349</estimatedDuration><fullDisplayName>Zim2Xapi-Cypress-Tests #60</fullDisplayName><id>60</id><inProgress>false</inProgress><keepLog>false</keepLog><number>60</number><queueId>5254</queueId><result>UNSTABLE</result><timestamp>1768488008979</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/Zim2Xapi-Cypress-Tests/60/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app/src/main/kotlin/com/ustadmobile/zim2xapi/CreateXapiFileUseCase.kt</affectedPath><affectedPath>app/src/main/kotlin/com/ustadmobile/zim2xapi/models/opdsfeed/OpdsWebPublicationLink.kt</affectedPath><commitId>416b29f29173b01224768e294fed6ea9dbc932d6</commitId><timestamp>1768487718000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>feat: Refactor OPDS feed and publication generation

Refactored the generation of OPDS feeds and web publications.

- A `type` field was added to `OpdsWebPublicationLink`.
- The single `publication.json` is replaced by multiple JSON files:
    - `opds.json` now serves as the root feed.
    - A `&lt;topicId&gt;.json` file is generated, listing all sub-topic publications.
    - A separate `&lt;subTopicId&gt;.json` is created for each sub-topic's web publication manifest.
- JSON generation logic was updated to create these new files and structure, using a base URL for links.
</comment><date>2026-01-15 20:05:18 +0530</date><id>416b29f29173b01224768e294fed6ea9dbc932d6</id><msg>feat: Refactor OPDS feed and publication generation</msg><path><editType>edit</editType><file>app/src/main/kotlin/com/ustadmobile/zim2xapi/models/opdsfeed/OpdsWebPublicationLink.kt</file></path><path><editType>edit</editType><file>app/src/main/kotlin/com/ustadmobile/zim2xapi/CreateXapiFileUseCase.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app/src/main/kotlin/com/ustadmobile/zim2xapi/CreateXapiFileUseCase.kt</affectedPath><commitId>638265123b7791319e567e228c1b387ca4ea59b8</commitId><timestamp>1768487985000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>feat: Refactor OPDS feed and publication generation

Refactored the generation of OPDS feeds and web publications.

- A `type` field was added to `OpdsWebPublicationLink`.
- The single `publication.json` is replaced by multiple JSON files:
    - `opds.json` now serves as the root feed.
    - A `&lt;topicId&gt;.json` file is generated, listing all sub-topic publications.
    - A separate `&lt;subTopicId&gt;.json` is created for each sub-topic's web publication manifest.
- JSON generation logic was updated to create these new files and structure, using a base URL for links.
</comment><date>2026-01-15 20:09:45 +0530</date><id>638265123b7791319e567e228c1b387ca4ea59b8</id><msg>feat: Refactor OPDS feed and publication generation</msg><path><editType>edit</editType><file>app/src/main/kotlin/com/ustadmobile/zim2xapi/CreateXapiFileUseCase.kt</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName><id>mandvi.verma</id></culprit></freeStyleBuild>