Hi Peter: Thank you! Your instructions worked perfectly, with one small addition. I also had to rename course/course.xml to course/Y2018_1.xml.
So, for anyone else who has this issue, the steps are: 1- In the course export directory, edit course.xml. Edit the url_name attribute; change it from "course": <course url_name="course" org="MyCompany" course="AB301"/> to the name of your run: <course url_name="Y2018_1" org="MyCompany" course="AB301"/> 2- In the policies directory, change the name of the “course” directory to the name of your run. mv course/policies/course course/policies/Y2018_1 3- In the course directory, change the name of the course.xml file to the name of your run. mv course/course/course.xml course/course/Y2018_1.xml 4- In the policies directory, edit the policy.json file. Change the root key (right at the beginning of the file) from “course/course” to the name of your run: “course/Y2018_1” Warm regards, Rebecca On Monday, February 11, 2019 at 9:00:53 AM UTC-5, Peter Pinch wrote: > > HI Rebecca. This was a change that we were struggling with at MIT for a > long time. > > When you import a course in studio, the course run is already established. > But when you import using the management command, it has to determine the > course run from the course data (OLX). > > Unfortunately, the OLX format has varied slightly over edX releases. In > particular, in birch, the course run was set in a few locations. But in > subsequent releases, it was omitted from the OLX*. We (MIT Open Learning) > submitted a PR to revert to the old export behavior, which will be part of > Ironwood. > > In the meantime, it’s not too difficult to patch up your OLX export: > > 1. In the course.xml file at the root of your course data, set the value > of the `url_name` on the root course node to the name of your run. > 2. In the policies directory, change the name of the “course” directory to > the name of your run. > 3. In the policy.json file, change the root key from “course/course” to > “course/<name_of_your_run>” > > We had to do this enough times that we wrote a post-commit hook for git. > If that’s helpful, I can see if we can share that. > > Good luck, and let us know if this helps. > > Peter Pinch > Associate Director of Engineering > MIT Open Learning > pdp...@mit.edu <javascript:> > http://engineering.odl.mit.edu/ > > * - technically, this didn’t change in a particular named release. It > changed with the upgrade in modulestore from mongomodulestore to > splitmodulestore. At MIT, we had delayed the change of modulestore for > several releases, so it wasn’t until ginkgo that we realized this was an > issue. > > On Feb 7, 2019, at 9:32 PM, Rebecca Buchheit Clayton <rbbuc...@gmail.com > <javascript:>> wrote: > > Hi, > > I'm trying to import a course using this command: > > sudo -u www-data /edx/bin/python.edxapp > /edx/app/edxapp/edx-platform/manage.py cms --settings=aws import > /edx/var/edxapp/data /tmp/course > > > /tmp/course contains the usual subdirectories (static, vertical, > sequential, etc.) and course.xml, which looks like this: > > <course url_name="course" org="MyCompany" course="AB301"/> > > The /tmp/course directory was created by expanding a tarball, which was > created from the Tools > Export menu in Studio, from a Hawthorne version > installation (server is named edx-dev). The course id is: > > course-v1:MyCompany+AB301+Y2018_1 > > > The original course was created in a pre-release before Birch. It has been > imported into Cypress, Ginkgo, and now Hawthorne through the Tools > Import > menu in Studio. I've never had any issues exporting/importing from Studio. > > The import succeeds (this is also into a Hawthorne installation, server is > named edx-staging), but instead of importing with the correct course id: > > course-v1:MyCompany+AB301+Y2018_1 > > it creates a new course on edx-staging with this course id: > > course-v1:MyCompany+AB301+course > > That is, the run should be "Y2018_1", but instead it is "course". > > I took a look > at > /edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/modulestore/xml_importer.py, > > but my python skills aren't good enough to figure out where it is getting > the run value from. > > Any help would be greatly appreciated! > > Thank you, > Rebecca > > > -- > You received this message because you are subscribed to the Google Groups > "General Open edX discussion" group. > To view this discussion on the web visit > https://groups.google.com/d/msgid/edx-code/6f743ca9-5f09-4696-b882-0b06786facc8%40googlegroups.com > > <https://groups.google.com/d/msgid/edx-code/6f743ca9-5f09-4696-b882-0b06786facc8%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > > -- You received this message because you are subscribed to the Google Groups "General Open edX discussion" group. To view this discussion on the web visit https://groups.google.com/d/msgid/edx-code/eb920582-3276-4849-98d1-48edab43ea73%40googlegroups.com.