Skip to content

Add a 'MixedModuleStore' which aggregates between XML and Mongo Modulestores - #496

Merged
chrisndodge merged 27 commits into
masterfrom
feature/cdodge/add-a-mixed-modulestore
Aug 16, 2013
Merged

Add a 'MixedModuleStore' which aggregates between XML and Mongo Modulestores#496
chrisndodge merged 27 commits into
masterfrom
feature/cdodge/add-a-mixed-modulestore

Conversation

@chrisndodge

Copy link
Copy Markdown
Contributor

This is an early PR while I work on manual/automated testing.

This should allow us to do away with:

  1. Stubs of any kind
  2. Running separate LMS-Mongo and LMS-XML services
  3. Nginx rules to route requests

@dmitchell @cpennington @jarv @e0d Can you all start to take a look? I'm still manually validating right now and I need to figure out some unit tests around this. But I figured I'd get the review process started.

Also, we need to come up with production configuration settings. Right now dev configuration is in lms/envs/mixed_dev.py so to run locally rake lms[cms.mixed_dev]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's going on here? Can you at least add a comment about why this is the way it is, and make the dummy value clearer (if that's what it is)?

@chrisndodge

Copy link
Copy Markdown
Contributor Author

@dmitchell @cpennington @e0d @jarv

Can we pick this up this review? I think we're all anxious to get this done and up in prod. I'm still manually verifying on localdev. Soon will pick up testing on a dedicated AWS instance.

@cpennington

Copy link
Copy Markdown
Contributor

@chrisndodge I had one comment about how to store the configuration values set by one-time-startup that you haven't addressed. Other than that, I'm 👍

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems like it would be better to write this line as '"{}"'.format(mock_static_content.convert_legacy_static_url_with_course_id())

@singingwolfboy

Copy link
Copy Markdown
Contributor

Looks good to me; I checked out the code, and it works.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need unit tests for this new class and its methods.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

@chrisndodge

Copy link
Copy Markdown
Contributor Author

@jzoldak I think I have total coverage on MixedModuleStore (and the create_modulestore_instance). I think just that Content method is the only thing uncovered now.

Chris Dodge added 2 commits August 16, 2013 09:51
@chrisndodge

Copy link
Copy Markdown
Contributor Author

@cpennington @dmitchell @singingwolfboy @jzoldak

I believe I've addressed the various comments. We have a go/no-go meeting at 12:30 about whether we deploy this next week. Can I get final comments and/or +1's?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we get a unit test for the get_html method? I'm concerned because of the comment on line 177 "This won't work when we move to data that isn't on the filesystem"

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done (via a CMS test since I needed to go through some Module HTML rendering pipeline)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pythonically, this would probably just be written as a @property.setter method in the MixedModuleStore, and everywhere else the modulestore configuration would just be accessed as a regular attribute (xmlstore.configuration = {}).

I don't think this should block the PR, but it would be nice to capture it as a cleanup task (or, if someone has time, to clean it up now).

@cpennington

Copy link
Copy Markdown
Contributor

👍

@chrisndodge

Copy link
Copy Markdown
Contributor Author

OK, did a quick spot check on this branch when running in just XML and Mongo module store providers (aka old configuration). Courseware works, transcripts work, static images work.

@dmitchell can I get one more thumbs on this?

@chrisndodge

Copy link
Copy Markdown
Contributor Author

OK, per hip chat, Don OK'd the merge

chrisndodge pushed a commit that referenced this pull request Aug 16, 2013
Add a 'MixedModuleStore' which aggregates between XML and Mongo Modulestores
@chrisndodge
chrisndodge merged commit 8ba3214 into master Aug 16, 2013
@jzoldak
jzoldak deleted the feature/cdodge/add-a-mixed-modulestore branch August 19, 2013 14:47
chrisrossi pushed a commit to jazkarta/edx-platform that referenced this pull request Mar 31, 2014
Fix for 500 on showanswer for choiceresponse
hachiyanagi-ks added a commit to nttks/edx-platform that referenced this pull request Nov 16, 2015
xavierchan added a commit to xavierchan/edx-platform-1 that referenced this pull request Feb 17, 2020
feat: add encrypt for email field and responding migration files
Sujeet1379 pushed a commit to chandrudev/edx-platform that referenced this pull request Nov 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants