summaryrefslogtreecommitdiff
path: root/python-openedx-completion-aggregator.spec
diff options
context:
space:
mode:
Diffstat (limited to 'python-openedx-completion-aggregator.spec')
-rw-r--r--python-openedx-completion-aggregator.spec124
1 files changed, 124 insertions, 0 deletions
diff --git a/python-openedx-completion-aggregator.spec b/python-openedx-completion-aggregator.spec
new file mode 100644
index 0000000..3a343eb
--- /dev/null
+++ b/python-openedx-completion-aggregator.spec
@@ -0,0 +1,124 @@
+%global _empty_manifest_terminate_build 0
+Name: python-openedx-completion-aggregator
+Version: 4.0.2
+Release: 1
+Summary: an app that aggregates block level completion data for different block types for Open edX.
+License: AGPL 3.0
+URL: https://github.com/open-craft/openedx-completion-aggregator
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/e6/d0/eea67015e41bec4ca84b62d53a88bf900d92358bce92fa7a1f1ac09c6277/openedx-completion-aggregator-4.0.2.tar.gz
+BuildArch: noarch
+
+Requires: python3-Django
+Requires: python3-celery
+Requires: python3-django-model-utils
+Requires: python3-djangorestframework
+Requires: python3-edx-celeryutils
+Requires: python3-edx-completion
+Requires: python3-edx-opaque-keys
+Requires: python3-edx-toggles
+Requires: python3-six
+Requires: python3-xblock-utils
+
+%description
+|pypi-badge| |travis-badge| |codecov-badge| |pyversions-badge| |license-badge|
+openedx-completion-aggregator is a Django app that aggregates block level completion data for different block types for Open edX.
+What does that mean?
+A standard Open edX installation can track the completion of individual XBlocks in a course, which is done using the `completion library <https://github.com/edx/completion#completion>`_. This completion tracking is what powers the green checkmarks shown in the course outline and course navigation as the learner completes each unit in the course:
+When completion tracking is enabled (and green checkmarks are showing, as seen above), it is only tracked at the XBlock level. You can use the Course Blocks API to check the completion status of any individual XBlock in the course, for a single user. For example, to get the completion of the XBlock with usage ID ``block-v1:OpenCraft+completion+demo+type@html+block@demo_block`` on the LMS instance ``courses.opencraft.com`` by the user ``MyUsername``, you could call this REST API::
+ GET https://courses.opencraft.com/api/courses/v1/blocks/block-v1:OpenCraft+completion+demo+type@html+block@demo_block?username=MyUsername&requested_fields=completion
+The response will include a ``completion`` value between ``0`` and ``1``.
+However, what if you want to know the overall % completion of an entire course? ("Alex, you have completed 45% of Introduction to Statistics") Or what if you as an instructor want to get a report of how much of Section 1 every student in a course has completed? Those queries are either not possible or too slow using the APIs built in to the LMS and ``completion``.
+This Open edX plugin, ``openedx-completion-aggregator`` watches course activity and asynchronously updates database tables with "aggregate" completion data. "Aggregate" data means completion data summed up over all XBlocks into a course and aggregated at higher levels, like the subsection, section, and course level. The completion aggregator provides a REST API that can provide near-instant answers to queries such as:
+* What % complete are each of the courses that I'm enrolled in?
+* What % of each section in Course X have my students completed?
+* What is the average completion % among all enrolled students in a course?
+Notes:
+* This service only provides data, via a REST API. There is no user interface.
+* On production instances, the answers to these "aggregate" questions may be slightly out of date, because they are computed asynchronously (see below). How often they are updated is configurable.
+
+%package -n python3-openedx-completion-aggregator
+Summary: an app that aggregates block level completion data for different block types for Open edX.
+Provides: python-openedx-completion-aggregator
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-openedx-completion-aggregator
+|pypi-badge| |travis-badge| |codecov-badge| |pyversions-badge| |license-badge|
+openedx-completion-aggregator is a Django app that aggregates block level completion data for different block types for Open edX.
+What does that mean?
+A standard Open edX installation can track the completion of individual XBlocks in a course, which is done using the `completion library <https://github.com/edx/completion#completion>`_. This completion tracking is what powers the green checkmarks shown in the course outline and course navigation as the learner completes each unit in the course:
+When completion tracking is enabled (and green checkmarks are showing, as seen above), it is only tracked at the XBlock level. You can use the Course Blocks API to check the completion status of any individual XBlock in the course, for a single user. For example, to get the completion of the XBlock with usage ID ``block-v1:OpenCraft+completion+demo+type@html+block@demo_block`` on the LMS instance ``courses.opencraft.com`` by the user ``MyUsername``, you could call this REST API::
+ GET https://courses.opencraft.com/api/courses/v1/blocks/block-v1:OpenCraft+completion+demo+type@html+block@demo_block?username=MyUsername&requested_fields=completion
+The response will include a ``completion`` value between ``0`` and ``1``.
+However, what if you want to know the overall % completion of an entire course? ("Alex, you have completed 45% of Introduction to Statistics") Or what if you as an instructor want to get a report of how much of Section 1 every student in a course has completed? Those queries are either not possible or too slow using the APIs built in to the LMS and ``completion``.
+This Open edX plugin, ``openedx-completion-aggregator`` watches course activity and asynchronously updates database tables with "aggregate" completion data. "Aggregate" data means completion data summed up over all XBlocks into a course and aggregated at higher levels, like the subsection, section, and course level. The completion aggregator provides a REST API that can provide near-instant answers to queries such as:
+* What % complete are each of the courses that I'm enrolled in?
+* What % of each section in Course X have my students completed?
+* What is the average completion % among all enrolled students in a course?
+Notes:
+* This service only provides data, via a REST API. There is no user interface.
+* On production instances, the answers to these "aggregate" questions may be slightly out of date, because they are computed asynchronously (see below). How often they are updated is configurable.
+
+%package help
+Summary: Development documents and examples for openedx-completion-aggregator
+Provides: python3-openedx-completion-aggregator-doc
+%description help
+|pypi-badge| |travis-badge| |codecov-badge| |pyversions-badge| |license-badge|
+openedx-completion-aggregator is a Django app that aggregates block level completion data for different block types for Open edX.
+What does that mean?
+A standard Open edX installation can track the completion of individual XBlocks in a course, which is done using the `completion library <https://github.com/edx/completion#completion>`_. This completion tracking is what powers the green checkmarks shown in the course outline and course navigation as the learner completes each unit in the course:
+When completion tracking is enabled (and green checkmarks are showing, as seen above), it is only tracked at the XBlock level. You can use the Course Blocks API to check the completion status of any individual XBlock in the course, for a single user. For example, to get the completion of the XBlock with usage ID ``block-v1:OpenCraft+completion+demo+type@html+block@demo_block`` on the LMS instance ``courses.opencraft.com`` by the user ``MyUsername``, you could call this REST API::
+ GET https://courses.opencraft.com/api/courses/v1/blocks/block-v1:OpenCraft+completion+demo+type@html+block@demo_block?username=MyUsername&requested_fields=completion
+The response will include a ``completion`` value between ``0`` and ``1``.
+However, what if you want to know the overall % completion of an entire course? ("Alex, you have completed 45% of Introduction to Statistics") Or what if you as an instructor want to get a report of how much of Section 1 every student in a course has completed? Those queries are either not possible or too slow using the APIs built in to the LMS and ``completion``.
+This Open edX plugin, ``openedx-completion-aggregator`` watches course activity and asynchronously updates database tables with "aggregate" completion data. "Aggregate" data means completion data summed up over all XBlocks into a course and aggregated at higher levels, like the subsection, section, and course level. The completion aggregator provides a REST API that can provide near-instant answers to queries such as:
+* What % complete are each of the courses that I'm enrolled in?
+* What % of each section in Course X have my students completed?
+* What is the average completion % among all enrolled students in a course?
+Notes:
+* This service only provides data, via a REST API. There is no user interface.
+* On production instances, the answers to these "aggregate" questions may be slightly out of date, because they are computed asynchronously (see below). How often they are updated is configurable.
+
+%prep
+%autosetup -n openedx-completion-aggregator-4.0.2
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-openedx-completion-aggregator -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Wed May 31 2023 Python_Bot <Python_Bot@openeuler.org> - 4.0.2-1
+- Package Spec generated