Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
392 commits
Select commit Hold shift + click to select a range
84828e3
Bump sentry-sdk from 1.9.0 to 1.14.0
dependabot[bot] Jan 27, 2023
c05a0a8
added .git to aphrodite in yarn.lock
Jan 27, 2023
6c5b5b6
Make urllib versions in requirements-dev.txt compatible with requirem…
rtibbles Jan 27, 2023
4bf6188
Merge pull request #3923 from marsian83/unstable
bjester Jan 27, 2023
70ac9e5
Remove min-height from error messages
bjester Jan 27, 2023
b448703
Merge pull request #3895 from AllanOXDi/changedCreateAccount
bjester Jan 27, 2023
b8efa5e
Merge branch 'hotfixes' into hot-to-un
vkWeb Jan 28, 2023
4cfcb13
Merge pull request #3936 from vkWeb/hot-to-un
bjester Jan 30, 2023
5df28c7
Update documentation to install yarn version 1.x
bjester Jan 30, 2023
b285a01
Add check for non-standalone docker compose installation
bjester Jan 30, 2023
1c1ad7f
added required changeLanguage strings in JSON files
ozer550 Jan 31, 2023
a3b42d1
Merge pull request #3939 from ozer550/TranslateChangeLanguageString
bjester Jan 31, 2023
73d0563
Merge pull request #3901 from ozer550/Validate_AssessmentItem
rtibbles Jan 31, 2023
01995e0
Merge pull request #3938 from bjester/compose-yarn-docs
rtibbles Jan 31, 2023
7ac9950
Remove progressbar dependency.
rtibbles Feb 3, 2023
053c8b1
Remove progressbar dependency.
rtibbles Feb 3, 2023
03ba663
Merge pull request #3933 from learningequality/dependabot/pip/sentry-…
rtibbles Feb 3, 2023
e925997
Bump http-cache-semantics from 4.1.0 to 4.1.1
dependabot[bot] Feb 3, 2023
de9b428
Merge pull request #3924 from marsian83/patch-2
rtibbles Feb 3, 2023
a3909f6
Bump sentry-sdk from 1.14.0 to 1.15.0
dependabot[bot] Feb 7, 2023
d37178b
Bump redis from 4.4.2 to 4.5.1
dependabot[bot] Feb 8, 2023
53459d1
remove name in the search field
akash5100 Feb 12, 2023
1f90de8
Merge pull request #3944 from learningequality/dependabot/npm_and_yar…
rtibbles Feb 16, 2023
f979ba3
Merge pull request #3948 from learningequality/dependabot/pip/sentry-…
rtibbles Feb 16, 2023
5b85ca8
Merge pull request #3958 from akash5100/bug_fix
bjester Feb 22, 2023
818dc29
Bump sentry-sdk from 1.15.0 to 1.16.0
dependabot[bot] Feb 27, 2023
06504d0
Bump dns-packet from 5.3.1 to 5.4.0
dependabot[bot] Mar 3, 2023
40fa930
Split deferred_user_data to two API endpoints
akash5100 Mar 10, 2023
39b9c44
Fix linting errors
akash5100 Mar 10, 2023
aef3c59
Merge pull request #3963 from learningequality/dependabot/pip/sentry-…
rtibbles Mar 10, 2023
fe5d2f5
Merge pull request #3953 from learningequality/dependabot/pip/redis-4…
rtibbles Mar 10, 2023
78dab4e
Bump wheel from 0.37.1 to 0.38.1
dependabot[bot] Mar 10, 2023
f74e710
Refactor fetchDeferredUserData() into separate functions for fetching…
akash5100 Mar 12, 2023
ce20cde
Merge pull request #3943 from rtibbles/progress_no_longer_barred
bjester Mar 13, 2023
e29f546
Merge pull request #3967 from learningequality/dependabot/npm_and_yar…
bjester Mar 13, 2023
e6f071d
Merge pull request #3976 from learningequality/dependabot/pip/wheel-0…
dependabot[bot] Mar 13, 2023
060e3eb
Bump werkzeug from 2.0.1 to 2.2.3
dependabot[bot] Mar 13, 2023
cd0a856
Bump django from 3.2.14 to 3.2.18
dependabot[bot] Mar 13, 2023
59cc6d2
Merge pull request #3977 from learningequality/dependabot/pip/django-…
dependabot[bot] Mar 13, 2023
ab69795
Revert celery late acknowledgement
vkWeb Mar 14, 2023
1dac0df
Adds regression test for and fixes metadata label syncing.
rtibbles Mar 15, 2023
265c248
Move resource listener registration to run in all tabs, not just the …
rtibbles Mar 15, 2023
63dbb6b
Bump webpack from 5.73.0 to 5.76.1
dependabot[bot] Mar 15, 2023
db36b2f
Merge pull request #3988 from rtibbles/propagate_logout
bjester Mar 15, 2023
e2e3d68
Merge pull request #3712 from rtibbles/metadata_synchronicity
bjester Mar 15, 2023
86acc82
Refactor vuex state condition
akash5100 Mar 15, 2023
1a27ce2
Merge pull request #3975 from akash5100/bug_fix
bjester Mar 15, 2023
e51e5c9
Remove unnecessary duplication of ContentLevels constant.
rtibbles Mar 15, 2023
ee7de44
Add level and category aggregation to details data.
rtibbles Mar 15, 2023
78e3aa0
Update frontend to display new levels and categories data.
rtibbles Mar 15, 2023
da5a543
Remove unused prefect and select relateds.
rtibbles Mar 15, 2023
61c7a24
Merge pull request #3989 from learningequality/dependabot/npm_and_yar…
rtibbles Mar 15, 2023
4aa4700
new django app for housing Kolibri-specific public APIs
AllanOXDi Jan 31, 2023
fc21261
registered the kolibri_public app
AllanOXDi Feb 1, 2023
9e854f5
Refactor kolibri_content models to more closely match the kolibri.cor…
rtibbles Feb 8, 2023
3a17822
Match base implementation of values viewset to Kolibri
rtibbles Feb 8, 2023
0c305dd
Add cursor based pagination class for values viewset.
rtibbles Feb 8, 2023
bb45fef
Add kolibri_public models as a mostly direct copy from kolibri.core.c…
rtibbles Feb 8, 2023
5a8d9a8
Create custom middlewares that allow exemption for sessions and locale.
rtibbles Feb 8, 2023
6715053
Add content node viewsets and tests.
rtibbles Feb 8, 2023
5529b1f
Move v1 public API into kolibri_public.
rtibbles Mar 10, 2023
aaf8384
Set Kolibri version in device info.
rtibbles Mar 10, 2023
a591335
Add v2 channel endpoint.
rtibbles Mar 14, 2023
ef7fa8a
Add import metadata public endpoint.
rtibbles Mar 14, 2023
837afe3
Update Studio device info endpoint to return versioned info.
rtibbles Mar 14, 2023
f656d2b
Add cache headers and test to import_metadata
rtibbles Mar 14, 2023
a631a6f
Add MPTTTreeIdManager model for kolibri_public.
rtibbles Mar 14, 2023
ae70c3d
Clean up no longer used helper function.
rtibbles Mar 14, 2023
917f345
Move channel builder test utility into base and make it flexible for …
rtibbles Mar 14, 2023
79382f9
Add mapper utility to map published content DB to kolibri_public models.
rtibbles Mar 14, 2023
1b375be
Map public channels into kolibri_public when published.
rtibbles Mar 14, 2023
7d3e0bc
Update channel last_updated on update
rtibbles Mar 14, 2023
4af0583
Add management command to backfill kolibri_public channels.
rtibbles Mar 14, 2023
19e2abc
Better handle different models being used in ChannelBuilder test helper.
rtibbles Mar 14, 2023
9c06698
Ensure the currently annotated channel is always included in the orde…
rtibbles Mar 16, 2023
4f0d69d
Merge pull request #3991 from rtibbles/kolibri-public
bjester Mar 16, 2023
b842dd8
Merge pull request #3665 from bjester/intellij-run-config
vkWeb Mar 18, 2023
c6f0c6f
[Accounts] Use KDS Buttons
AlexVelezLl Dec 19, 2022
295bde7
Bring back raised buttons for account created/deleted message
AlexVelezLl Jan 10, 2023
fafba94
Migrate channel databases before import to guarantee compatible schema.
rtibbles Mar 21, 2023
2f0f13d
add tests for deploy change event
ozer550 Mar 21, 2023
eb0a659
Merge pull request #3996 from rtibbles/no_publicity_for_old_channels
rtibbles Mar 21, 2023
33e9c5e
Updates mp3 resource previewer metadata to include has captions and s…
LianaHarris360 Mar 21, 2023
385cda0
Use get_active_content_database to get alias
rtibbles Mar 21, 2023
36c1075
Put deploy event into indexedDB
vkWeb Mar 22, 2023
b871560
Updates command to automatically set accessibility metadata for audio…
LianaHarris360 Mar 22, 2023
4d02221
Merge pull request #3999 from LianaHarris360/audio-previewer-metadata
bjester Mar 23, 2023
cc34098
Merge pull request #4001 from learningequality/hotfixes
bjester Mar 23, 2023
c46f34b
Updates nested folder order in breadcrumb
LianaHarris360 Mar 24, 2023
db5fc78
Consult Channel table for publishing status
vkWeb Mar 27, 2023
83c2d59
Cross reference against only active tasks
vkWeb Mar 28, 2023
6e67bdc
Add user id to change object
ozer550 Mar 28, 2023
0c109db
Merge pull request #4003 from LianaHarris360/breadcrumbs-hickups
LianaHarris360 Mar 28, 2023
3c45c34
Bump redis from 4.5.1 to 4.5.4
dependabot[bot] Mar 29, 2023
b90b921
Adds additional logic to disable the Move Here button after a move ha…
marcellamaki Mar 30, 2023
d9bcc22
Added DEPLOYED to frontend change event
vkWeb Apr 3, 2023
fb8bebd
Merge pull request #3654 from bjester/docker-postgres-init
vkWeb Apr 3, 2023
0b861cf
Merge branch 'unstable' into pr/ozer550/3997
vkWeb Apr 3, 2023
3e208e2
Add DEPLOYED to changeMap
vkWeb Apr 3, 2023
1195a67
Loading spinner while deploying
vkWeb Apr 5, 2023
c7d751b
Fix staging_id being watched unnecessarily
vkWeb Apr 6, 2023
11fcf21
Remove stagingId condition
vkWeb Apr 6, 2023
b3036b9
Merge pull request #4008 from learningequality/dependabot/pip/redis-4…
rtibbles Apr 7, 2023
d553bac
Merge pull request #3990 from rtibbles/levels_and_categories
rtibbles Apr 7, 2023
9ad6237
Updates syncing metadata fields on syncing modal
akolson Apr 11, 2023
5565fd1
Merge pull request #4005 from ozer550/FIX_CHANNEL_SET_ISSUE
bjester Apr 11, 2023
98d8e63
Fixes failing tests
akolson Apr 11, 2023
2cc5161
Fixes failing tests
akolson Apr 11, 2023
002892f
Add test for language pagination labels.
rtibbles Apr 11, 2023
a2520e3
Fix root tree redirect tests
vkWeb Apr 12, 2023
30b7afe
Use F expression to map native_name to lang_name in query.
rtibbles Apr 12, 2023
ce97b32
Remove deprecated and no longer used codecov library.
rtibbles Apr 12, 2023
add9fab
Merge pull request #4018 from rtibbles/lang_field_name
rtibbles Apr 12, 2023
84b02dc
Clean up existing code
ozer550 Apr 12, 2023
b9729c5
Merge pull request #3984 from vkWeb/revert-late-ack
bjester Apr 12, 2023
4862c2d
Fix missing interface element linking to staging tree
bjester Apr 12, 2023
9a462db
Log full exception and stack trace for easier insight inside task wor…
bjester Apr 12, 2023
4861fb4
By default, celery starts # workers based of CPU, this sets to 1
bjester Apr 12, 2023
c4910f5
renames attribute ans tags attributes
akolson Apr 12, 2023
f8b5465
Fixes failing tests
akolson Apr 12, 2023
9973bdb
Refactors code
akolson Apr 13, 2023
84cb511
fix return statement
ozer550 Apr 13, 2023
aa1b079
Adds review feedback
akolson Apr 13, 2023
2db72b9
Merge pull request #4022 from bjester/misc-fixes-x2
bjester Apr 13, 2023
302f4a6
Reset moving state, and add additional check for loading state display
marcellamaki Apr 13, 2023
2fd01d1
Merge pull request #3997 from ozer550/ActivationChangeEventBackend
bjester Apr 13, 2023
39ab7be
applies css tweaks
akolson Apr 14, 2023
4b22d97
Merge latest unstable
akolson Apr 14, 2023
9e276a3
Merge pull request #4016 from akolson/syncing-metadata-ui-strings
akolson Apr 14, 2023
74eb388
Merge pull request #4009 from marcellamaki/disable-move-here-button
marcellamaki Apr 17, 2023
c14424f
Remove additional files upon channel sync
vkWeb Apr 17, 2023
c9cbc62
Merge pull request #4027 from vkWeb/sync-files
rtibbles Apr 17, 2023
50b182f
Merge pull request #3891 from AlexVelezLl/accounts-kds-buttons
bjester Apr 18, 2023
c8b8cce
add ai_feature flag to schema
akash5100 Apr 18, 2023
86fbe33
Merge pull request #4029 from akash5100/feature_flag
bjester Apr 18, 2023
864f892
Skip flaky tests for now until I can fix them
bjester Apr 19, 2023
8cd1d91
Merge pull request #4033 from bjester/skip-flaky-tests
bjester Apr 19, 2023
0f72a5c
Defensive file duration check
vkWeb Apr 19, 2023
c17f70f
Merge pull request #4032 from vkWeb/file-duration-0
bjester Apr 19, 2023
2c2fa07
add test for zero duration file upload
ozer550 Apr 20, 2023
cea98db
Merge pull request #4034 from ozer550/Add_test_for_File_duration_vali…
bjester Apr 20, 2023
4060a24
Fixes inability to open channel details modal in new tab
LianaHarris360 Apr 20, 2023
fcb1656
Add a next tick, and set selected node so that detailsTab saving func…
marcellamaki Apr 20, 2023
0dfd8c6
Merge pull request #4035 from LianaHarris360/channel-details-modal-ne…
LianaHarris360 Apr 21, 2023
950b05b
Add new Makefile target for post-migration flows
bjester Apr 24, 2023
e251253
- [feat]: disable checkbox based on policyAccepted;
manavagr1108 Apr 24, 2023
468c4e6
- [remove]: red error message on the checkbox;
manavagr1108 Apr 25, 2023
6dfeae9
Merge pull request #4036 from marcellamaki/immediate-save-all-no-reso…
bjester Apr 25, 2023
fed64bc
- [update]: test for disable continue button;
manavagr1108 Apr 25, 2023
8b88e7c
- [lint]: lint fixes;
manavagr1108 Apr 25, 2023
6a90478
Merge pull request #4038 from manavagr1108/disable-continue-button-on…
akolson Apr 25, 2023
48bc118
Fix order of exercies
Pursottam6003 Apr 26, 2023
437e077
Merge pull request #4037 from bjester/post-migrate
bjester Apr 26, 2023
edcc696
Basic integration of updated kolibri-tools.
rtibbles May 3, 2023
cf053b6
updates
Nov 17, 2022
2266a8e
more updates
Dec 1, 2022
39a4e0f
additional changes and corrections
marcellamaki May 3, 2023
9ddef8f
corrections and updates
Dec 12, 2022
dbb5a63
Update auto-formatting of JS files.
rtibbles May 3, 2023
e5a4ad0
Bump axios from 1.2.0 to 1.4.0
dependabot[bot] May 3, 2023
3e6aa0e
Fix order of exercies
Pursottam6003 Apr 26, 2023
d9342c7
updated the generatejsconstantfiles.py for auto generating order of o…
Pursottam6003 May 3, 2023
aac5c50
Merge branch 'fixorder' of github.com:pursottam6003/studio into fixorder
Pursottam6003 May 3, 2023
b27645f
Merge pull request #4048 from learningequality/dependabot/npm_and_yar…
rtibbles May 4, 2023
d82d165
Merge pull request #4039 from Pursottam6003/fixorder
rtibbles May 4, 2023
898477f
Merge pull request #3978 from learningequality/dependabot/pip/werkzeu…
rtibbles May 4, 2023
c9c12a8
Update dependabot.yml
rtibbles May 4, 2023
dc8e742
Update copy to filter node modifications to allowed fields.
rtibbles Mar 26, 2023
e7926d5
Show completion and duration in the side panel
MisRob Apr 18, 2023
74162ca
Use constant
MisRob May 4, 2023
ba6a82c
migrate python-kms according to docs
ozer550 Apr 11, 2023
4ce10b3
Replace dependency with one more well-maintained and already included
bjester May 4, 2023
ee2d497
Update dev requirements
bjester May 4, 2023
f440f74
Merge pull request #4049 from learningequality/dependabot-config
bjester May 4, 2023
64a0b17
Bump actions/setup-python from 2 to 4
dependabot[bot] May 4, 2023
69318e1
Bump actions/setup-node from 1 to 3
dependabot[bot] May 4, 2023
a031c45
Bump actions/cache from 2 to 3
dependabot[bot] May 4, 2023
59e07c2
Bump papaparse from 5.3.2 to 5.4.1
dependabot[bot] May 4, 2023
5fd8eb9
Merge pull request #4052 from learningequality/dependabot/github_acti…
rtibbles May 4, 2023
71e7a5e
Merge pull request #4053 from learningequality/dependabot/github_acti…
rtibbles May 4, 2023
f935935
Merge pull request #4056 from learningequality/dependabot/npm_and_yar…
rtibbles May 4, 2023
31eda70
Bump actions/checkout from 2 to 3
dependabot[bot] May 4, 2023
5452ac8
Merge pull request #4046 from marcellamaki/gh-corrections
radinamatic May 4, 2023
ab1518f
Merge pull request #4054 from learningequality/dependabot/github_acti…
rtibbles May 4, 2023
271f566
Merge pull request #4055 from learningequality/dependabot/github_acti…
rtibbles May 4, 2023
37435ef
Factor in language when counting distinct content items
jamalex May 4, 2023
e888611
Merge pull request #4057 from learningequality/jamalex-patch-1
bjester May 4, 2023
fd9f45d
Merge pull request #4045 from rtibbles/crowdinv2_integration
rtibbles May 4, 2023
e6886bc
Add ability to clone existing resource nodes using ricecooker.
rtibbles Mar 26, 2023
0f5efce
Bump broadcast-channel from 4.17.0 to 5.1.0
dependabot[bot] May 5, 2023
aed6bcd
Merge pull request #4058 from learningequality/dependabot/npm_and_yar…
rtibbles May 5, 2023
6a82930
Cleanup strings
MisRob May 4, 2023
d5c41c6
Add strings for error messages
MisRob May 5, 2023
85e5ea2
Strings for handling of copy failures
vkWeb May 5, 2023
86726c7
Disable linting for unused strings
vkWeb May 5, 2023
32847f3
Merge pull request #4061 from vkWeb/strings-for-copy-fail
bjester May 5, 2023
2c2d876
Bump vue-router from 3.5.4 to 3.6.5
dependabot[bot] May 8, 2023
1797ae1
Merge pull request #4059 from MisRob/fix-missing-completion
marcellamaki May 8, 2023
7f08e01
Revise some strings
bjester May 8, 2023
2a28312
Revise some strings
bjester May 8, 2023
ea9bbe8
Merge pull request #4064 from bjester/about-strings
marcellamaki May 8, 2023
c8c96ad
update makemessages & transfercontext scripts to use kolibri-tools CLI
nucleogenesis May 8, 2023
6abbbba
Merge pull request #4065 from nucleogenesis/bug--kolibri-tools-i18n-c…
bjester May 8, 2023
7af004e
Merge pull request #4019 from ozer550/UPDATE_PYTHON_KMS
bjester May 10, 2023
5cd7d80
Updates for string freeze, pre-translation
marcellamaki May 10, 2023
1e27f83
Adjust wording for missing required information on resource
marcellamaki May 10, 2023
ec54f82
Merge pull request #4069 from marcellamaki/string-updates
marcellamaki May 10, 2023
04ab11e
String extractions and extraction fixes
bjester May 9, 2023
49544d3
Ignore some backend strings for translation
bjester May 10, 2023
5eaa4af
Merge pull request #4050 from rtibbles/i_think_im_a_clone_now
bjester May 11, 2023
a3e1e11
Additional extraction fixes and extraction after audit
bjester May 11, 2023
cfb4e6b
Merge branch 'hotfixes' into md2unstable
bjester May 11, 2023
774b59b
Fix migration ordering
bjester May 11, 2023
0c7a880
Merge pull request #4066 from bjester/strextract
rtibbles May 11, 2023
0acfc37
Merge pull request #4062 from learningequality/dependabot/npm_and_yar…
rtibbles May 12, 2023
7b448a9
corrections and imporvements
May 19, 2023
38a08fd
minor corrections and organizing the features into folders to keep th…
May 22, 2023
d18de67
Committing result of make i18n-download
bjester May 24, 2023
6045a80
Merge pull request #4095 from bjester/upcoming-release-translations
bjester May 24, 2023
68ccd4b
Merge pull request #4084 from pcenov/gh-corrections-may
radinamatic May 25, 2023
74c2471
Ignore change event data in database export/init.sql
bjester May 25, 2023
ef3ddcd
Merge pull request #4097 from bjester/change-pk
bjester May 25, 2023
b1ce4ed
Bump qs from 6.11.0 to 6.11.2
dependabot[bot] May 26, 2023
a4cdf4f
Merge pull request #4071 from bjester/md2unstable
bjester May 30, 2023
b53ecc9
Add more sentry logging for sync errors.
rtibbles Apr 28, 2023
d6ab54c
Catch the entire syncChanges function.
rtibbles May 4, 2023
abeabb7
Update put method to add method to make creates explicit.
rtibbles May 7, 2023
c89ba35
Add Change classes to encapsulate and handle setting changes on the c…
rtibbles May 8, 2023
7feb5bf
Update syncChanges logic to handle queueing per tab.
rtibbles May 10, 2023
454bb23
Update forceServerSync to still attempt to sync all unsynced changes.
rtibbles May 10, 2023
fdded78
Link up change objects to the resource layer.
rtibbles May 10, 2023
3dd6ca3
Remove use of leader election. Do background polling only when docume…
rtibbles May 10, 2023
cd49812
Use serviceWorker during development.
rtibbles May 10, 2023
ce0bf14
Prevent circular dependencies. Use reactive watch to trigger queueing.
rtibbles May 10, 2023
6de69b9
Change updatedChanges to handle an object of changes, not the changed…
rtibbles May 10, 2023
e85491a
Include CHANGES_TABLE in transaction.
rtibbles May 10, 2023
8ec4840
Properly handle channel_id and user_id setting on changes.
rtibbles May 12, 2023
a73100b
Ensure key is not null.
rtibbles May 25, 2023
17ec8ff
Make the service worker serving handle no webpack devserver in debug …
rtibbles May 25, 2023
533b293
Make resolve/reject stack more comprehensible.
rtibbles May 25, 2023
58c09a6
Add in saving of the source to the change object.
rtibbles May 25, 2023
f64e6de
Update change tracker to only track changes from this client/tab.
rtibbles May 25, 2023
c0e34e4
Remove use of IGNORED_SOURCE as we are no longer syncing change events
rtibbles May 25, 2023
78e32c3
Update assessment item handling for change updates.
rtibbles May 30, 2023
05fccf0
Fix issues with copying.
rtibbles May 30, 2023
1b56d9b
Fixes loading issue
akolson May 31, 2023
8083124
Updates comments
akolson May 31, 2023
743364c
Merge pull request #4070 from rtibbles/where_is_my_mind
bjester May 31, 2023
484dca9
Merge pull request #4099 from akolson/continuous-spinner-loading
bjester May 31, 2023
a41fc31
Merge pull request #4098 from learningequality/dependabot/npm_and_yar…
rtibbles May 31, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
17 changes: 17 additions & 0 deletions .docker/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
## What is this directory?
This directory is a space for mounting directories to docker containers, allowing the mounts to be specified in committed code, but the contents of the mounts to remain ignored by git.

### postgres
The `postgres` directory is mounted to `/docker-entrypoint-initdb.d`. Any `.sh` or `.sql` files will be executed when the container is first started with a new data volume. You may read more regarding this functionality on the [Docker Hub page](https://hub.docker.com/_/postgres), under _Initialization scripts_.

When running docker services through the Makefile commands, it specifies a docker-compose project name that depends on the name of the current git branch. This causes the volumes to change when the branch changes, which is helpful when switching between many branches that might have incompatible database schema changes. The downside is that whenever you start a new branch, you'll have to re-initialize the database again, like with `yarn run devsetup`. Creating a SQL dump from an existing, initialized database and placing it in this directory will allow you to skip this step.

To create a SQL dump of your preferred database data useful for local testing, run `make .docker/postgres/init.sql` while the docker postgres container is running.

> Note: you will likely need to run `make migrate` to ensure your database schema is up-to-date when using this technique.

#### pgpass
Stores the postgres authentication for the docker service for scripting access without manually providing a password, created by `make .docker/pgpass`

### minio
The `minio` directory is mounted to `/data`, since it isn't necessarily useful to have this data isolated based off the current git branch.
9 changes: 9 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,18 @@ updates:
directory: "/"
schedule:
interval: "daily"
time: "00:00"

# Maintain dependencies for Javascript
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "daily"
time: "00:00"

# Maintain dependencies for Github Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
time: "00:00"
16 changes: 8 additions & 8 deletions .github/workflows/deploytest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,13 @@ jobs:
if: ${{ needs.pre_job.outputs.should_skip != 'true' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Use Node.js
uses: actions/setup-node@v1
uses: actions/setup-node@v3
with:
node-version: '16.x'
- name: Cache Node.js modules
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: '**/node_modules'
key: ${{ runner.OS }}-node-${{ hashFiles('**/yarn.lock') }}
Expand All @@ -51,13 +51,13 @@ jobs:
if: ${{ needs.pre_job.outputs.should_skip != 'true' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Set up Python 3.9
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: 3.9
- name: pip cache
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pyprod-${{ hashFiles('requirements.txt') }}
Expand All @@ -69,11 +69,11 @@ jobs:
pip install pip-tools
pip-sync requirements.txt
- name: Use Node.js
uses: actions/setup-node@v1
uses: actions/setup-node@v3
with:
node-version: '16.x'
- name: Cache Node.js modules
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: '**/node_modules'
key: ${{ runner.OS }}-node-${{ hashFiles('**/yarn.lock') }}
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/frontendlint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,13 @@ jobs:
if: ${{ needs.pre_job.outputs.should_skip != 'true' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Use Node.js
uses: actions/setup-node@v1
uses: actions/setup-node@v3
with:
node-version: '16.x'
- name: Cache Node.js modules
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: '**/node_modules'
key: ${{ runner.OS }}-node-${{ hashFiles('**/yarn.lock') }}
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/frontendtest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,13 @@ jobs:
if: ${{ needs.pre_job.outputs.should_skip != 'true' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Use Node.js
uses: actions/setup-node@v1
uses: actions/setup-node@v3
with:
node-version: '16.x'
- name: Cache Node.js modules
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: '**/node_modules'
key: ${{ runner.OS }}-node-${{ hashFiles('**/yarn.lock') }}
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/pythontest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ jobs:
# Maps port 6379 on service container to the host
- 6379:6379
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Set up minio
run: |
docker run -d -p 9000:9000 --name minio \
Expand All @@ -71,11 +71,11 @@ jobs:
-v /tmp/minio_config:/root/.minio \
minio/minio server /data
- name: Set up Python 3.9
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: 3.9
- name: pip cache
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pytest-${{ hashFiles('requirements.txt', 'requirements-dev.txt') }}
Expand Down
9 changes: 7 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ var/
# IntelliJ IDE, except project config
.idea/*
!.idea/studio.iml
# ignore future updates to run configuration
.run/devserver.run.xml

# PyInstaller
# Usually these files are written by a python script from a template
Expand Down Expand Up @@ -95,8 +97,11 @@ contentcuration/csvs/
# Ignore the TAGS file generated by some editors
TAGS

# Ignore Vagrant-created files
/.vagrant/
# Services
.vagrant/
.docker/minio/*
.docker/postgres/*
.docker/pgpass

# Ignore test files
/contentcuration/contentcuration/proxy_settings.py
Expand Down
24 changes: 24 additions & 0 deletions .run/devserver.run.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="devserver" type="PythonConfigurationType" factoryName="Python">
<module name="studio" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs>
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="$ModuleSdkPath$" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="false" />
<option name="ADD_SOURCE_ROOTS" value="false" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
<option name="SCRIPT_NAME" value="contentcuration/manage.py" />
<option name="PARAMETERS" value="runserver --settings=contentcuration.dev_settings 0.0.0.0:8080" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
<option name="REDIRECT_INPUT" value="false" />
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
</component>
101 changes: 65 additions & 36 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
# standalone install method
DOCKER_COMPOSE = docker-compose

# support new plugin installation for docker-compose
ifeq (, $(shell which docker-compose))
DOCKER_COMPOSE = docker compose
endif

###############################################################
# PRODUCTION COMMANDS #########################################
###############################################################
Expand All @@ -20,6 +28,18 @@ migrate:
python contentcuration/manage.py migrate || true
python contentcuration/manage.py loadconstants

# This is a special command that is we'll reuse to run data migrations outside of the normal
# django migration process. This is useful for long running migrations which we don't want to block
# the CD build. Do not delete!
# Procedure:
# 1) Add a new management command for the migration
# 2) Call it here
# 3) Perform the release
# 4) Remove the management command from this `deploy-migrate` recipe
# 5) Repeat!
deploy-migrate:
echo "Nothing to do here"

contentnodegc:
python contentcuration/manage.py garbage_collect

Expand All @@ -31,7 +51,11 @@ learningactivities:

set-tsvectors:
python contentcuration/manage.py set_channel_tsvectors
python contentcuration/manage.py set_contentnode_tsvectors
python contentcuration/manage.py set_contentnode_tsvectors --published

reconcile:
python contentcuration/manage.py reconcile_publishing_status
python contentcuration/manage.py reconcile_change_tasks

###############################################################
# END PRODUCTION COMMANDS #####################################
Expand All @@ -53,10 +77,10 @@ i18n-extract: i18n-extract-frontend i18n-extract-backend
i18n-transfer-context:
yarn transfercontext

#i18n-django-compilemessages:
# Change working directory to kolibri/ such that compilemessages
i18n-django-compilemessages:
# Change working directory to contentcuration/ such that compilemessages
# finds only the .po files nested there.
#cd kolibri && PYTHONPATH="..:$$PYTHONPATH" python -m kolibri manage compilemessages
cd contentcuration && python manage.py compilemessages

i18n-upload: i18n-extract
python node_modules/kolibri-tools/lib/i18n/crowdin.py upload-sources ${branch}
Expand All @@ -67,27 +91,15 @@ i18n-pretranslate:
i18n-pretranslate-approve-all:
python node_modules/kolibri-tools/lib/i18n/crowdin.py pretranslate ${branch} --approve-all

i18n-convert:
python node_modules/kolibri-tools/lib/i18n/crowdin.py convert-files

i18n-download-translations:
python node_modules/kolibri-tools/lib/i18n/crowdin.py rebuild-translations ${branch}
python node_modules/kolibri-tools/lib/i18n/crowdin.py download-translations ${branch}
node node_modules/kolibri-tools/lib/i18n/intl_code_gen.js
python node_modules/kolibri-tools/lib/i18n/crowdin.py convert-files
# TODO: is this necessary? # Manual hack to add es language by copying es_ES to es
# cp -r contentcuration/locale/es_ES contentcuration/locale/es
yarn exec kolibri-tools i18n-code-gen -- --output-dir ./contentcuration/contentcuration/frontend/shared/i18n
$(MAKE) i18n-django-compilemessages
yarn exec kolibri-tools i18n-create-message-files -- --namespace contentcuration --searchPath ./contentcuration/contentcuration/frontend

i18n-download: i18n-download-translations

i18n-update:
echo "WARNING: i18n-update has been renamed to i18n-download"
$(MAKE) i18n-download
echo "WARNING: i18n-update has been renamed to i18n-download"

i18n-stats:
python node_modules/kolibri-tools/lib/i18n/crowdin.py translation-stats ${branch}

i18n-download-glossary:
python node_modules/kolibri-tools/lib/i18n/crowdin.py download-glossary

Expand Down Expand Up @@ -126,9 +138,9 @@ hascaptions:

export COMPOSE_PROJECT_NAME=studio_$(shell git rev-parse --abbrev-ref HEAD)

purge-postgres:
-PGPASSWORD=kolibri dropdb -U learningequality "kolibri-studio" --port 5432 -h localhost
PGPASSWORD=kolibri createdb -U learningequality "kolibri-studio" --port 5432 -h localhost
purge-postgres: .docker/pgpass
-PGPASSFILE=.docker/pgpass dropdb -U learningequality "kolibri-studio" --port 5432 -h localhost
PGPASSFILE=.docker/pgpass createdb -U learningequality "kolibri-studio" --port 5432 -h localhost

destroy-and-recreate-database: purge-postgres setup

Expand All @@ -138,39 +150,56 @@ devceleryworkers:
run-services:
$(MAKE) -j 2 dcservicesup devceleryworkers

.docker/minio:
mkdir -p $@

.docker/postgres:
mkdir -p $@

.docker/pgpass:
echo "localhost:5432:kolibri-studio:learningequality:kolibri" > $@
chmod 600 $@

.docker/postgres/init.sql: .docker/pgpass
# assumes postgres is running in a docker container
PGPASSFILE=.docker/pgpass pg_dump --host localhost --port 5432 --username learningequality --dbname "kolibri-studio" --exclude-table-data=contentcuration_change --file $@

dcbuild:
# build all studio docker image and all dependent services using docker-compose
docker-compose build
$(DOCKER_COMPOSE) build

dcup:
dcup: .docker/minio .docker/postgres
# run all services except for cloudprober
docker-compose up studio-app celery-worker
$(DOCKER_COMPOSE) up studio-app celery-worker

dcup-cloudprober:
dcup-cloudprober: .docker/minio .docker/postgres
# run all services including cloudprober
docker-compose up
$(DOCKER_COMPOSE) up

dcdown:
# run make deverver in foreground with all dependent services using docker-compose
docker-compose down
# run make deverver in foreground with all dependent services using $(DOCKER_COMPOSE)
$(DOCKER_COMPOSE) down

dcclean:
# stop all containers and delete volumes
docker-compose down -v
$(DOCKER_COMPOSE) down -v
docker image prune -f

dcshell:
# bash shell inside the (running!) studio-app container
docker-compose exec studio-app /usr/bin/fish
$(DOCKER_COMPOSE) exec studio-app /usr/bin/fish

dcpsql: .docker/pgpass
PGPASSFILE=.docker/pgpass psql --host localhost --port 5432 --username learningequality --dbname "kolibri-studio"

dctest:
dctest: .docker/minio .docker/postgres
# run backend tests inside docker, in new instances
docker-compose run studio-app make test
$(DOCKER_COMPOSE) run studio-app make test

dcservicesup:
dcservicesup: .docker/minio .docker/postgres
# launch all studio's dependent services using docker-compose
docker-compose -f docker-compose.yml -f docker-compose.alt.yml up minio postgres redis
$(DOCKER_COMPOSE) -f docker-compose.yml -f docker-compose.alt.yml up minio postgres redis

dcservicesdown:
# stop services that were started using dcservicesup
docker-compose -f docker-compose.yml -f docker-compose.alt.yml down
$(DOCKER_COMPOSE) -f docker-compose.yml -f docker-compose.alt.yml down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,10 +59,10 @@ export LDFLAGS="-L/opt/homebrew/opt/openssl/lib"
```

### Install frontend dependencies
Install the version of node.js supported by Studio, and install `yarn`:
Install the version of node.js supported by Studio, and install `yarn` version 1.x:
```bash
volta install node@16
volta install yarn
volta install yarn@1
```
After installing `yarn`, you may now install frontend dependencies:
```bash
Expand Down
Loading