Fórum

v1.2 - package upload failure

Aaron Zeckoski, modificado 11 Anos atrás.

v1.2 - package upload failure

New Member Postagens: 3 Data de Entrada: 20/12/12 Postagens Recentes
I am using the v1/2 binary in liferay 6.1 EE.

When I try to upload my scorm package it processes for about a minute and then fails with a message "Uploading package Failed".
The file "imsmanifest.xml" does not exist in the directory indicated but the directory itself does exist. Also, that file exists in the scorm zip file I am uploading.
I am using the default H2 database and default settings for it.
Any suggestions or ideas on how to get this working?

Server error logs are below:

SEVERE: Servlet.service() for servlet [UploadService] in context with path [/learn-web-1.2] threw exception
java.io.FileNotFoundException: /opt/liferay-portal-6.1.20-ee-ga2/tomcat-7.0.27/temp/0-learn-web-1.2/SCORMData/tmp/SCORMZip_8465782431163506565.tmp/imsmanifest.xml (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:120)
at scala.xml.Source$.fromFile(XML.scala:22)
at scala.xml.factory.XMLLoader$class.loadFile(XMLLoader.scala:47)
at scala.xml.XML$.loadFile(XML.scala:40)
at com.arcusys.scorm.deployer.PackageProcessor$.processPackageAndGetID(PackageProcessor.scala:24)
at com.arcusys.learn.admin.service.UploadService$$anonfun$1.apply$mcI$sp(UploadService.scala:37)
at com.arcusys.learn.admin.service.UploadService$$anonfun$1.apply(UploadService.scala:23)
at com.arcusys.learn.admin.service.UploadService$$anonfun$1.apply(UploadService.scala:23)
at org.scalatra.ScalatraKernel$class.org$scalatra$ScalatraKernel$$liftAction(ScalatraKernel.scala:216)
at org.scalatra.ScalatraKernel$$anonfun$invoke$1.apply(ScalatraKernel.scala:211)
at org.scalatra.ScalatraKernel$$anonfun$invoke$1.apply(ScalatraKernel.scala:211)
at org.scalatra.ScalatraKernel$class.withRouteMultiParams(ScalatraKernel.scala:274)
at org.scalatra.ScalatraServlet.withRouteMultiParams(ScalatraServlet.scala:24)
at org.scalatra.ScalatraKernel$class.invoke(ScalatraKernel.scala:210)
at org.scalatra.ScalatraServlet.invoke(ScalatraServlet.scala:24)
at org.scalatra.ScalatraKernel$$anonfun$runRoutes$1$$anonfun$apply$2.apply(ScalatraKernel.scala:196)
at org.scalatra.ScalatraKernel$$anonfun$runRoutes$1$$anonfun$apply$2.apply(ScalatraKernel.scala:195)
at scala.Option.flatMap(Option.scala:146)
at org.scalatra.ScalatraKernel$$anonfun$runRoutes$1.apply(ScalatraKernel.scala:195)
at org.scalatra.ScalatraKernel$$anonfun$runRoutes$1.apply(ScalatraKernel.scala:194)
at scala.collection.immutable.Stream.flatMap(Stream.scala:217)
at org.scalatra.ScalatraKernel$class.runRoutes(ScalatraKernel.scala:194)
at org.scalatra.ScalatraServlet.runRoutes(ScalatraServlet.scala:24)
at org.scalatra.ScalatraKernel$class.executeRoutes(ScalatraKernel.scala:165)
at org.scalatra.ScalatraServlet.executeRoutes(ScalatraServlet.scala:24)
at org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1.apply$mcV$sp(ScalatraKernel.scala:139)
at org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1.apply(ScalatraKernel.scala:137)
at org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1.apply(ScalatraKernel.scala:137)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:57)
at org.scalatra.ScalatraKernel$$anonfun$handle$1.apply$mcV$sp(ScalatraKernel.scala:137)
at org.scalatra.ScalatraKernel$$anonfun$handle$1.apply(ScalatraKernel.scala:137)
at org.scalatra.ScalatraKernel$$anonfun$handle$1.apply(ScalatraKernel.scala:137)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:57)
at org.scalatra.ScalatraKernel$class.handle(ScalatraKernel.scala:136)
at com.arcusys.learn.admin.service.UploadService.org$scalatra$fileupload$FileUploadSupport$$super$handle(UploadService.scala:20)
at org.scalatra.fileupload.FileUploadSupport$class.handle(FileUploadSupport.scala:39)
at com.arcusys.learn.admin.service.UploadService.handle(UploadService.scala:20)
at org.scalatra.ScalatraServlet.service(ScalatraServlet.scala:31)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at sun.reflect.GeneratedMethodAccessor337.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.liferay.portal.kernel.bean.ClassLoaderBeanHandler.invoke(ClassLoaderBeanHandler.java:67)
at $Proxy397.doFilter(Unknown Source)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:167)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95)
at com.liferay.portal.kernel.servlet.PortalClassLoaderFilter.doFilter(PortalClassLoaderFilter.java:70)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
at org.scalatra.ScalatraFilter$$anonfun$1.apply$mcV$sp(ScalatraFilter.scala:48)
at org.scalatra.ScalatraFilter$$anonfun$1.apply(ScalatraFilter.scala:48)
at org.scalatra.ScalatraFilter$$anonfun$1.apply(ScalatraFilter.scala:48)
at org.scalatra.ScalatraKernel$$anonfun$6.apply(ScalatraKernel.scala:166)
at scala.Option.getOrElse(Option.scala:108)
at org.scalatra.ScalatraKernel$class.executeRoutes(ScalatraKernel.scala:166)
at com.arcusys.learn.view.GradebookView.executeRoutes(GradebookView.scala:10)
at org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1.apply$mcV$sp(ScalatraKernel.scala:139)
at org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1.apply(ScalatraKernel.scala:137)
at org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1.apply(ScalatraKernel.scala:137)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:57)
at org.scalatra.ScalatraKernel$$anonfun$handle$1.apply$mcV$sp(ScalatraKernel.scala:137)
at org.scalatra.ScalatraKernel$$anonfun$handle$1.apply(ScalatraKernel.scala:137)
at org.scalatra.ScalatraKernel$$anonfun$handle$1.apply(ScalatraKernel.scala:137)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:57)
at org.scalatra.ScalatraKernel$class.handle(ScalatraKernel.scala:136)
at com.arcusys.learn.view.GradebookView.handle(GradebookView.scala:10)
at org.scalatra.ScalatraFilter$$anonfun$doFilter$1.apply$mcV$sp(ScalatraFilter.scala:34)
at org.scalatra.ScalatraFilter$$anonfun$doFilter$1.apply(ScalatraFilter.scala:34)
at org.scalatra.ScalatraFilter$$anonfun$doFilter$1.apply(ScalatraFilter.scala:34)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:57)
at org.scalatra.ScalatraFilter$class.doFilter(ScalatraFilter.scala:33)
at com.arcusys.learn.view.GradebookView.doFilter(GradebookView.scala:10)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
at org.scalatra.ScalatraFilter$$anonfun$1.apply$mcV$sp(ScalatraFilter.scala:48)
at org.scalatra.ScalatraFilter$$anonfun$1.apply(ScalatraFilter.scala:48)
at org.scalatra.ScalatraFilter$$anonfun$1.apply(ScalatraFilter.scala:48)
at org.scalatra.ScalatraKernel$$anonfun$6.apply(ScalatraKernel.scala:166)
at scala.Option.getOrElse(Option.scala:108)
at org.scalatra.ScalatraKernel$class.executeRoutes(ScalatraKernel.scala:166)
at com.arcusys.learn.view.QuizView.executeRoutes(QuizView.scala:9)
at org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1.apply$mcV$sp(ScalatraKernel.scala:139)
at org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1.apply(ScalatraKernel.scala:137)
at org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1.apply(ScalatraKernel.scala:137)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:57)
at org.scalatra.ScalatraKernel$$anonfun$handle$1.apply$mcV$sp(ScalatraKernel.scala:137)
at org.scalatra.ScalatraKernel$$anonfun$handle$1.apply(ScalatraKernel.scala:137)
at org.scalatra.ScalatraKernel$$anonfun$handle$1.apply(ScalatraKernel.scala:137)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:57)
at org.scalatra.ScalatraKernel$class.handle(ScalatraKernel.scala:136)
at com.arcusys.learn.view.QuizView.handle(QuizView.scala:9)
at org.scalatra.ScalatraFilter$$anonfun$doFilter$1.apply$mcV$sp(ScalatraFilter.scala:34)
at org.scalatra.ScalatraFilter$$anonfun$doFilter$1.apply(ScalatraFilter.scala:34)
at org.scalatra.ScalatraFilter$$anonfun$doFilter$1.apply(ScalatraFilter.scala:34)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:57)
at org.scalatra.ScalatraFilter$class.doFilter(ScalatraFilter.scala:33)
at com.arcusys.learn.view.QuizView.doFilter(QuizView.scala:9)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
at org.scalatra.ScalatraFilter$$anonfun$1.apply$mcV$sp(ScalatraFilter.scala:48)
at org.scalatra.ScalatraFilter$$anonfun$1.apply(ScalatraFilter.scala:48)
at org.scalatra.ScalatraFilter$$anonfun$1.apply(ScalatraFilter.scala:48)
at org.scalatra.ScalatraKernel$$anonfun$6.apply(ScalatraKernel.scala:166)
at scala.Option.getOrElse(Option.scala:108)
at org.scalatra.ScalatraKernel$class.executeRoutes(ScalatraKernel.scala:166)
at com.arcusys.learn.view.AdminView.executeRoutes(AdminView.scala:11)
at org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1.apply$mcV$sp(ScalatraKernel.scala:139)
at org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1.apply(ScalatraKernel.scala:137)
at org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1.apply(ScalatraKernel.scala:137)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:57)
at org.scalatra.ScalatraKernel$$anonfun$handle$1.apply$mcV$sp(ScalatraKernel.scala:137)
at org.scalatra.ScalatraKernel$$anonfun$handle$1.apply(ScalatraKernel.scala:137)
at org.scalatra.ScalatraKernel$$anonfun$handle$1.apply(ScalatraKernel.scala:137)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:57)
at org.scalatra.ScalatraKernel$class.handle(ScalatraKernel.scala:136)
at com.arcusys.learn.view.AdminView.handle(AdminView.scala:11)
at org.scalatra.ScalatraFilter$$anonfun$doFilter$1.apply$mcV$sp(ScalatraFilter.scala:34)
at org.scalatra.ScalatraFilter$$anonfun$doFilter$1.apply(ScalatraFilter.scala:34)
at org.scalatra.ScalatraFilter$$anonfun$doFilter$1.apply(ScalatraFilter.scala:34)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:57)
at org.scalatra.ScalatraFilter$class.doFilter(ScalatraFilter.scala:33)
at com.arcusys.learn.view.AdminView.doFilter(AdminView.scala:11)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
at org.scalatra.ScalatraFilter$$anonfun$1.apply$mcV$sp(ScalatraFilter.scala:48)
at org.scalatra.ScalatraFilter$$anonfun$1.apply(ScalatraFilter.scala:48)
at org.scalatra.ScalatraFilter$$anonfun$1.apply(ScalatraFilter.scala:48)
at org.scalatra.ScalatraKernel$$anonfun$6.apply(ScalatraKernel.scala:166)
at scala.Option.getOrElse(Option.scala:108)
at org.scalatra.ScalatraKernel$class.executeRoutes(ScalatraKernel.scala:166)
at com.arcusys.learn.view.UserView.executeRoutes(UserView.scala:13)
at org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1.apply$mcV$sp(ScalatraKernel.scala:139)
at org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1.apply(ScalatraKernel.scala:137)
at org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1.apply(ScalatraKernel.scala:137)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:57)
at org.scalatra.ScalatraKernel$$anonfun$handle$1.apply$mcV$sp(ScalatraKernel.scala:137)
at org.scalatra.ScalatraKernel$$anonfun$handle$1.apply(ScalatraKernel.scala:137)
at org.scalatra.ScalatraKernel$$anonfun$handle$1.apply(ScalatraKernel.scala:137)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:57)
at org.scalatra.ScalatraKernel$class.handle(ScalatraKernel.scala:136)
at com.arcusys.learn.view.UserView.handle(UserView.scala:13)
at org.scalatra.ScalatraFilter$$anonfun$doFilter$1.apply$mcV$sp(ScalatraFilter.scala:34)
at org.scalatra.ScalatraFilter$$anonfun$doFilter$1.apply(ScalatraFilter.scala:34)
at org.scalatra.ScalatraFilter$$anonfun$doFilter$1.apply(ScalatraFilter.scala:34)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:57)
at org.scalatra.ScalatraFilter$class.doFilter(ScalatraFilter.scala:33)
at com.arcusys.learn.view.UserView.doFilter(UserView.scala:13)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
at org.scalatra.ScalatraFilter$$anonfun$1.apply$mcV$sp(ScalatraFilter.scala:48)
at org.scalatra.ScalatraFilter$$anonfun$1.apply(ScalatraFilter.scala:48)
at org.scalatra.ScalatraFilter$$anonfun$1.apply(ScalatraFilter.scala:48)
at org.scalatra.ScalatraKernel$$anonfun$6.apply(ScalatraKernel.scala:166)
at scala.Option.getOrElse(Option.scala:108)
at org.scalatra.ScalatraKernel$class.executeRoutes(ScalatraKernel.scala:166)
at com.arcusys.learn.view.QuestionBankView.executeRoutes(QuestionBankView.scala:9)
at org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1.apply$mcV$sp(ScalatraKernel.scala:139)
at org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1.apply(ScalatraKernel.scala:137)
at org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1.apply(ScalatraKernel.scala:137)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:57)
at org.scalatra.ScalatraKernel$$anonfun$handle$1.apply$mcV$sp(ScalatraKernel.scala:137)
at org.scalatra.ScalatraKernel$$anonfun$handle$1.apply(ScalatraKernel.scala:137)
at org.scalatra.ScalatraKernel$$anonfun$handle$1.apply(ScalatraKernel.scala:137)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:57)
at org.scalatra.ScalatraKernel$class.handle(ScalatraKernel.scala:136)
at com.arcusys.learn.view.QuestionBankView.handle(QuestionBankView.scala:9)
at org.scalatra.ScalatraFilter$$anonfun$doFilter$1.apply$mcV$sp(ScalatraFilter.scala:34)
at org.scalatra.ScalatraFilter$$anonfun$doFilter$1.apply(ScalatraFilter.scala:34)
at org.scalatra.ScalatraFilter$$anonfun$doFilter$1.apply(ScalatraFilter.scala:34)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:57)
at org.scalatra.ScalatraFilter$class.doFilter(ScalatraFilter.scala:33)
at com.arcusys.learn.view.QuestionBankView.doFilter(QuestionBankView.scala:9)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:73)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
thumbnail
Janne Hietala, modificado 11 Anos atrás.

RE: v1.2 - package upload failure

Junior Member Postagens: 97 Data de Entrada: 16/06/09 Postagens Recentes
Hi Aaron,

imsmanifest.xml is the Manifest file for SCORM package content. For some reason the deployment process cannot find it in the location it's trying to look for it. Usually it's located right in the root of the SCORM package.

You mentioned that imsmanifest is in your SCORM package, but can you check if it's in the root folder of the package you're deploying? Also, how the SCORM package is created (ie. Captivate or something else)?

You can also test with the sample SCORM packages, are you able to deploy any of them, or does the issue persist?

Best regards,
Janne
Aaron Zeckoski, modificado 11 Anos atrás.

RE: v1.2 - package upload failure

New Member Postagens: 3 Data de Entrada: 20/12/12 Postagens Recentes
It works with your samples but does not seem to work with my scorm package. The imsmanifest is definitely in the root.
Here is a partial listing of the file structure:
./adlcp_rootv1p2.xsd
./adlcp_v1p3.xsd
./adlnav_v1p3.xsd
./adlseq_v1p3.xsd
./common
./common/anyElement.xsd
./common/dataTypes.xsd
./common/elementNames.xsd
./common/elementTypes.xsd
./common/rootElement.xsd
./common/vocabTypes.xsd
./common/vocabValues.xsd
./datatypes.dtd
./extend
./extend/custom.xsd
./extend/strict.xsd
./ims_xml.xsd
./imscp_rootv1p1p2.xsd
./imscp_v1p1.xsd
./imsmanifest.xml
./imsmd_rootv1p2p1.xsd
./imsss_v1p0.xsd
./imsss_v1p0auxresource.xsd
./imsss_v1p0control.xsd
./imsss_v1p0delivery.xsd
./imsss_v1p0limit.xsd
.......

I think this is SCORM 2004 version 2 compatible but I did not create it so I am not sure how it was actually created.
thumbnail
Janne Hietala, modificado 11 Anos atrás.

RE: v1.2 - package upload failure

Junior Member Postagens: 97 Data de Entrada: 16/06/09 Postagens Recentes
Hi Aaron,

Do you think you would be able to send us the package, so we could test it ourselves. That would be the quickest way to fix it.

You can send it to me to janne.hietala(at)arcusys.fi

Best regards,
Janne Hietala
Aaron Zeckoski, modificado 11 Anos atrás.

RE: v1.2 - package upload failure

New Member Postagens: 3 Data de Entrada: 20/12/12 Postagens Recentes
File sent. Thanks for taking a look!
thumbnail
Janne Hietala, modificado 11 Anos atrás.

RE: v1.2 - package upload failure

Junior Member Postagens: 97 Data de Entrada: 16/06/09 Postagens Recentes
We had some correspondence with Aaron and hopefully found a solution for the issue! It looks like the package defied some SCORM 2004 rules. imsmanifest.xml was not located in the root folder of the package and Learn could not find it.

I hope this helps!

Br,
Janne