مقدمة:
Lantern قالب وسير عمل يستخدمان Pandoc وGitHub لإنشاء موارد تعليمية مفتوحة متعددة الصيغ واستضافتها عبر الإنترنت. ويوظف طرائق الحوسبة الدنيا لتقليل المتطلبات التقنية للنشر، مع تعظيم التحكم في شكل النص ومحتواه وتوزيعه. ويستخدم Markdown وYAML للمحتوى والبيانات الوصفية، وباندوك لتحويلهما إلى HTML وPDF وEPUB وDOCX. وتضبط خيارات باندوك مسبقًا في برنامج Bash لتبسيط الاستخدام. ويتاح القالب في GitHub مع إعدادات Actions وPages، لكن استخدام GitHub ليس شرطًا؛ إذ يمكن تشغيل Lantern على أي حاسوب حديث، ورفع المخرجات إلى أي خادم ويب حديث.
الدوافع
الموارد التعليمية المفتوحة OER مواد مجانية للتعليم والتعلم، متاحة على الإنترنت للاستخدام والرجوع والتكييف والتوزيع دون حدود. وتوزع عادة بترخيص المشاع الإبداعي [1]. لكن مجانية تنزيلها واستخدامها لا تعني أن البنية الداعمة لها قليلة الكلفة. فالمكتبات الأكاديمية تقدم لأعضاء هيئة التدريس خدمات للتوعية بها وتبنيها وإنشائها، تتطلب موظفين وتدريبًا وتنسيقًا وتقنية وتسويقًا. وتشيع المنح المؤسسية ومكافآت أعضاء التدريس لتحفيز إنشاء موارد جديدة ودعمها (Santiago & Ray, 2020). لكن لا بد من نشرها ليستفيد الجمهور. وتدعم المكتبات النشر بتيسير اكتشاف المحتوى والوصول إليه وحفظه وإعادة استخدامه. وتثير هذه البنية أسئلة الاستدامة، التي وُضع Lantern لمراعاتها.
تعتمد استدامة المورد على استمرار قدرته على تحقيق غرضه التعليمي. ولمبادرات المكتبات شاغلان رئيسيان: إنتاج الموارد وإتاحتها، واستخدام الجمهور لها وإعادة استخدامها (Wiley, 2006). ويتطلب كلاهما أفرادًا وعمليات وتقنيات. وبخفض كلفة البنية الرقمية وصيانتها، تستطيع المكتبات زيادة الاستثمار في الأفراد وعمليات الإنتاج والإتاحة.
صُمم Lantern لتقليل تعقيد الحزم التقنية اللازمة للإنتاج والمشاركة والاستخدام وإعادة الاستخدام، وفق معيارين مقتبسين بتصرف من Wiley (2006): إنشاء المورد بصيغة تعمل بالكفاءة نفسها عبر العتاد ونظم التشغيل، وإتاحته للجمهور بما يسمح بتحريره وتكييفه للتدريس والتعلم في سياقات متنوعة.
وتنسجم هذه المعايير مع الحوسبة الدنيا، إطار طوّره باحثو الإنسانيات الرقمية لتصميم نظم لا تستخدم إلا موارد العتاد والبرامج الضرورية للمهمة (Gil, 2015). وساعد هذا التمرين الفكري على تقليص حزمة Lantern التقنية للإنشاء والاستضافة والأرشفة، وتركيزها على النص البسيط المنظم، وتقنيات الويب الثابتة، والتحكم في الإصدارات، والبرمجيات المفتوحة.
قالب Lantern
يوضح الشكل الأول سير العمل: يبدأ ببرامج معالجة النصوص المعتادة، وينتهي بمورد منشور متعدد الصيغ. ويوفر Lantern قالب مجلدات وبرنامج Bash لاستخدام باندوك في التحويل بين المخطوطات DOCX أو ODT، والمصدر Markdown وYAML وBibTeX، وصيغ النشر HTML وPDF وEPUB [2]. ويهدف إلى تيسير استخدام أداة التحويل الشاملة باندوك لمنشئي الموارد وناشريها الذين لا يألفون سطر الأوامر. ويسعى إلى تعليم مهارات تحرير النص البسيط والويب الثابت والبرامج المفتوحة، وتشجيع الحزم التقنية الدنيا في مشروعات المكتبات الرقمية. والمقصود بها فرض حدود مقصودة على المكونات التقنية اللازمة للعملية الحاسوبية.
باندوك أداة سطر أوامر تحول ملف إدخال من صيغة إلى ملف إخراج بصيغة أخرى، ويجب تمثيل كليهما بلغة ترميز منظمة. وعند كتابة المقال، كان الإصدار 2.17.1 يقرأ 39 صيغة ويُخرج 62 صيغة بدرجات متفاوتة من الدقة. ويمكن أن يستخدم كل تحويل صفرًا أو عشرات من أصل 96 خيارًا متاحًا.
ويبسط برنامج lantern.sh وملفات القالب ومجلداته مستوى التخصيص المتاح لمستخدمي باندوك في إنتاج الموارد. فمثلًا، تبدو دالة توليد PDF على النحو الآتي:
pdf() {
# combine all markdown files into one
pandoc text/*.md -o _temp/chapters.md
# convert markdown to HTML to PDF
pandoc _temp/chapters.md \
--defaults settings/pdf.yml \
--output $output_directory/$output_filename.pdf
echo "The PDF edition is now available."
}
تستدعي الدالة باندوك أولًا لجمع ملفات Markdown في المجلد الفرعي /text/ بترتيب أسمائها، لتكوين متن المورد. ثم تستدعيه ثانية لتحويل الملف المدمج إلى PDF باستخدام إعدادات ملف Defaults [3]، الذي يحدد خيارات البيانات الوصفية والقوالب وإعدادات PDF [4]. ولكل صيغة إخراج دالة تسير وفق العملية نفسها، مع اختلاف ملفات الإعداد والخيارات. والمأمول أن يكون القالب أساسًا سهلًا يبني المستخدمون عليه تخصيصاتهم ووظائفهم.
النص البسيط المنظم
يكتب معظم الناس النص ويحررونه بمحررات غنية، مثل Word وGoogle Docs وWordPress وبرامج البريد. وهي تعرض تنسيق المستند، لكنها تحجب العناصر الدلالية لبنيته الأساسية؛ مما يدفع إلى استخدام المحاذاة والخط العريض للدلالة على العنوان. وقد يفهمه المبصر بصريًا، بينما تفوته الآلة، كقارئ الشاشة. ولتجنب ذلك، يقدم Lantern إرشادات لوسم مخطوطات DOCX بالعناوين والأنماط الصحيحة في معالجات النصوص.
البنية أساسية لإمكانية الوصول والتنسيق وقابلية النقل. ويستخدم Lantern ماركداون ويامل لتمثيل المحتوى والبيانات الوصفية نصًا بسيطًا منظمًا. ويشرح Tenen and Wythoff (2014) مزاياه لناشري الموارد في المكتبات: يضمن الشفافية ويلبي معايير الحفظ الطويل؛ فقد يلقى Word مصير WordPerfect، بينما يظل النص البسيط سهل القراءة والفهرسة والتنقيب والتحويل. كما يتيح ضبط الإصدارات بكفاءة وقوة، مما يفيد التعاون وتنظيم المسودات، ويتوافق مع الماضي والمستقبل.
ويوفر Lantern بنية ملفات للمشروع: البرنامج lantern.sh، وملف metadata.yml، ومجلد /text/ لملفات Markdown، ومجلدات أخرى للقوالب والأنماط والإعداد. وتفرض هذه البنية فصل المحتوى عن المظهر؛ ولا يحتاج المستخدمون إلا إلى ملف البيانات الوصفية ومجلد النص.
لماركداون مزايا للكتابة الأكاديمية والإنتاج والحفظ. ويشرح جون غروبر، أحد مبتكريه، فلسفته (2004): ينبغي أن يكون سهل القراءة والكتابة قدر الإمكان، مع تقديم قابلية القراءة على غيرها؛ بحيث يصلح المستند للنشر كما هو نصًا بسيطًا، دون أن يبدو محشوًا بالوسوم أو أوامر التنسيق. ومن أمثلة بنيته:
# Chapter Title Introductory paragraph text with **bold** and *italic* text. ## Section Heading Introductory paragraph for the section. Another paragraph, but with a [link to a website](https://example.com). ### Subsection Heading More content, but in list form: - list item - list item - list item
يفيد ماركداون الناشرين والحافظين الرقميين لأن الإنسان يستطيع قراءة صورته الخام، والآلة تستطيع تحويله إلى HTML وعشرات الصيغ الأخرى. ويتبع Lantern غالبًا صيغة باندوك لماركداون، مع دعم إضافي للإحالات المرقمة للمعادلات والأشكال والجداول، وصناديق التنبيه والتمارين. وينظم المحتوى في ملف أو أكثر داخل /text/، ويسمّي الملفات بترتيبها الرقمي في المشروع:
001-preface.md 010-introduction.md 020-theory.md
ويستخدم YAML صيغةً رئيسية للبيانات الوصفية؛ لاختيارها، مثل Markdown، لسهولة قراءتها وتحويلها إلى JSON وصيغ بيانات منظمة أخرى. ويتضمن الملف حقولًا ببليوغرافية بهذه البنية، مثل:
title: Lantern
subtitle: An OER Publishing Toolkit
author:
- name: Chris Diaz
affiliation: Northwestern University
- name: Lauren McKeen McDonald
affiliation: Northwestern University
keywords:
- textbooks
- oer
- digital publishing
GitHub لنشر الموارد التعليمية المفتوحة
من أقوى مزايا النص البسيط إمكان استخدام نظام Git للتحكم في الإصدارات، وأدوات التعاون والأتمتة في GitHub. وقد وُثقت فوائد إدارتهما وتعاونهما وحفظهما لمشروعات المكتبات التقنية (Davis, 2015; Giorgio et al., 2019; Becker et al., 2020). ويوضح Lantern هذه الفوائد لمشروعات الموارد التعليمية.
Lantern مستودع قالب في GitHub، يتيح لأي شخص إنشاء مشروعه بالبنية والملفات نفسها. عمليًا، يسجل المستخدم دخوله، ويزور المستودع، وينشئ منه مستودع مشروع جديدًا؛ ثم يضيف المحتوى والبيانات الوصفية ويستخدم الإعدادات الجاهزة لإنتاج الموارد متعددة الصيغ مجانًا. وتستفيد الإعدادات من GitHub Actions [5] لأتمتة العمل، وGitHub Pages [6] لاستضافة المواقع الثابتة، وهما مفيدان خصوصًا للنشر.
ويقدم Lantern توثيقًا لتهيئة مخطوطات DOCX، وسير عمل Actions لتحويلها إلى Markdown بباندوك. والخطوات الأساسية: إنشاء مستودع من القالب، ورفع ملفات DOCX إلى /original/، ثم إنشاء إيداع commit من واجهة الويب بعنوان «Add files via upload». ويطلق ذلك عملية Actions تنفذ ما يأتي:
توفير آلة افتراضية مستضافة تعمل بـUbuntu 20.04+ LTS؛ تثبيت Pandoc 2.17 أو أحدث؛ جلب الفرع الرئيسي للمستودع؛ تحويل كل DOCX إلى Markdown؛ نقل الملفات إلى /text/؛ ثم إيداع التغييرات مجددًا في الفرع الرئيسي.
يعرض الشكل الثاني سجلات هذا التحويل. وبعده يراجع المستخدم ملفات ماركداون بحثًا عن أخطاء ويصححها من واجهة GitHub للتحرير والمعاينة. ويبين الشكل الثالث واجهة تحرير الشيفرة، والرابع معاينة ماركداون معروضًا بصيغة HTML.
يتبنى Lantern نهجًا خفيفًا للتكامل والنشر المستمرين. وهو معد افتراضيًا لبناء نسخة HTML ونشرها، بينما تحتاج صيغ مثل PDF وEPUB إلى تفعيل بتغيير ملف إعداد. وكل إيداع في metadata.yml أو ملفات /text/ يطلق عملية أخرى: توفير آلة Ubuntu 20.04+ LTS، وتثبيت Pandoc 2.17+ واعتماديات Lantern الأخرى، وجلب الفرع الرئيسي، وتشغيل lantern.sh الذي يبني الموقع الثابت افتراضيًا، ثم نشر الملفات في فرع gh-pages.
وعند تفعيل Pages، تصبح ملفات ذلك الفرع عامة على عنوان github.io. ومن ثم يعيد كل إيداع جديد بناء الموقع وصيغ الإخراج ونشرها. ويستطيع المستخدم تعطيل الإتاحة العامة أثناء التطوير بإيقاف Pages، ثم إعادة تفعيلها حين يصبح جاهزًا للنشر.
تقنيات الويب الثابتة
يبني Lantern موقعًا ثابتًا للبيانات الوصفية والنص الكامل والملفات القابلة للتنزيل، مثل PDF وEPUB. والمواقع الثابتة أسرع وأرخص وأبسط وأكثر أمنًا من المواقع المولدة ديناميكيًا، لأنها تزيل طبقات المصادقة وقواعد البيانات والتطبيقات التي تستخدمها نظم إدارة المحتوى عادة (Newson, 2017; Varner, 2017; Diaz, 2018). وهي للقراءة فقط وتحتاج صيانة محدودة لزيارتها واستخدامها؛ لذلك يجذب انخفاض تعقيدها الناشرين والأرشيفيين الرقميين (Rumianek, 2013).
ويحول Lantern ملف metadata.yml ومجلد /text/ إلى موقع متعدد الصفحات بباندوك وBash. وإذا أُنتجت نسخ PDF وEPUB وDOCX، تُربط بالموقع للتنزيل. وهذه قائمة مجلد الإخراج لمثال فعلي مستضاف على Pages [7]:
css/ js/ .nojekyll CNAME index.html 010-intro.html 020-casual-inference.html 030-theory.html 040-data.html 050-hypothesis-testing.html 060-surveys.html 070-experiments.html 080-large-n.html 090-small-n.html 100-social-networks.html 110-machine-learning.html 120-conclusion.html 900-appendix-math.html Clipperton_EMPS.docx Clipperton_EMPS.epub Clipperton_EMPS.pdf
والمواقع الثابتة خيار مقنع للمنشورات محددة النطاق التي تأمل المكتبات حفظها دائمًا، مثل الموارد التعليمية والدراسات والنتاج العلمي والمجموعات والمعارض الرقمية. ويقدم مجتمع Lib-static نماذج ومفاهيم ودعمًا لتوظيف البنى الرقمية الدنيا وتقنيات الويب الثابتة في مشروعات المكتبات [8]. أما المواقع التي تحتاج إلى نظام إدارة محتوى وبرامج خادمية فقد تصبح مكلفة وصعبة الصيانة. وقد تحتاج الموارد التعليمية سنوات من الاستقرار حتى لو توقف تحديث المحتوى؛ وتوفره المواقع الثابتة.
قابلية النقل بالبرامج المفتوحة
اهتم ناشرو المكتبات واختصاصيو الاتصال العلمي ودعاة التعليم المفتوح ببنية نشر علمي مفتوحة بعد استحواذ Elsevier على Bepress، مزود برمجيات المستودعات المؤسسية المملوكة (Schonfeld, 2017, 2019). وأدى الخبر إلى استثمارات جديدة في تطوير برامج مفتوحة للمكتبات والمؤسسات غير الربحية الناشرة رقميًا، ومبادرات أخرى (Lewis, 2017; Invest in Open Infrastructure). وحفّز هذا الزخم إعطاء الأولوية لبرامج مفتوحة محمولة وعابرة للمنصات أساسًا لتطوير Lantern.
يحتاج Lantern إلى باندوك لتحويل المستندات من سطر الأوامر، وPagedJS لتوليد PDF من HTML المنسق بـCSS، وأي مفسر صدفة يونكس مع grep وawk وsed، وأي محرر نصي.
ولا يُشترط Git لإدارة نسخ الشيفرة، أو pandoc-crossref لإحالات المعادلات والأشكال والجداول، أو LaTeX لتنضيد PDF، لكنها تفيد المشروعات التعاونية أو الغنية بالرياضيات. وجميع هذه البرامج مفتوحة المصدر ومتوافقة مع macOS وويندوز ولينكس.
واشترط التصميم البرمجيات المفتوحة لأنها أقل احتمالًا لإحداث الارتهان للمورد، أي اعتماد العميل على منتجات مورد بعينه (Maxwell et al., 2019). ويعلّم Lantern المهارات الأساسية في Markdown وYAML وسطر الأوامر، اللازمة للانتقال إلى برامج مشابهة إذا تعطلت اعتمادياته لأي سبب. وتستطيع مئات المكتبات البرمجية بعشرات اللغات تحليل هاتين الصيغتين وتحويلهما.
ويُقدَّم GitHub للتيسير، ولا يشترط استخدامه. فيمكن تنزيل القالب، وتشغيل البرنامج على الملفات محليًا، ورفع المخرجات إلى أي خدمة استضافة.
خاتمة
يخفض تقليل الأعباء غير الضرورية لإعداد النظم وصيانتها تكاليف التقنية والعمل في النهاية. وتتكون بنية دعم الموارد التعليمية المفتوحة في المكتبة من أفراد وعمليات وتقنيات. وإذا أُتيحت ميزانية لتصميم برنامج وتنفيذه، فمن المعقول تقديم الأدوار الإدارية والتحريرية للإنشاء، أي الأفراد والعمليات، ثم الترويج والاكتشاف لتبني الموارد، وهما أيضًا أفراد وعمليات، في أولوية قريبة. وقد صُمم Lantern ليوفر سير نشر قويًا بأقل نفقات صيانة تقنية، لتخصيص موارد أكبر لجهد الإنشاء والتبني. وبنهج Lib-static والحوسبة الدنيا، يمكن التركيز على مهارات قابلة للنقل بدل تعلم منصات بعينها. ولا يهدف Lantern إلى أن يصبح «منصة نشر»، بل إلى إيضاح كيف تمكّن المهارات الرقمية الأساسية في النص المنظم وضبط الإصدارات والبرامج المفتوحة أمناءَ المكتبات من تصميم منتجات ويب مستدامة لمجتمعاتهم ونشرها.
ملاحظات
[1] نظرة عامة إلى تراخيص الموارد التعليمية المفتوحة: https://en.wikipedia.org/wiki/Open_educational_resource#Licensing_and_types
[2] مستودع Lantern: https://github.com/nulib-oer/lantern
[3] توثيق ملفات Defaults في باندوك: https://pandoc.org/MANUAL.html#defaults-files
[4] مثال إعداد إخراج PDF: https://github.com/nulib-oer/lantern/blob/main/settings/pdf.yml
[5] خدمة التكامل والنشر المستمرين: https://github.com/features/actions
[6] استضافة المواقع الثابتة: https://pages.github.com/
[7] ملفات المثال https://github.com/nulib-oer/emps/tree/gh-pages وموقعه https://emps.northwestern.pub/ .
[8] مجتمع Lib-static: https://lib-static.github.io/
المراجع
- Becker D, Williamson E, Wikle O. 2020. CollectionBuilder-CONTENTdm: Developing a Static Web ‘Skin’ for CONTENTdm-based Digital Collections. The Code4Lib Journal [Internet]. (49). [Accessed 2022 Feb 23]. Available from: https://journal.code4lib.org/articles/15326.
- Davis, R. 2015. Git and GitHub for Librarians. Behavioral & Social Sciences Librarian 34.3. 159–164. Available from: https://academicworks.cuny.edu/jj_pubs/34/.
- Diaz C. 2018. Using Static Site Generators for Scholarly Publications and Open Educational Resources. The Code4Lib Journal [Internet].(42). [Accessed 2022 Feb 23]. Available from: https://journal.code4lib.org/articles/13861.
- Giorgio S, et al. 2019. What is Git/GitHub? – LibraryCarpentry/lc-git: Library Carpentry: Introduction to Git. [Internet]. Available from: http://doi.org/10.5281/zenodo.3265772.
- Gil A. 2015. The User, the Learner, and the Machines we Make. Minimal Computing: a working group of GO: DH [Internet]. [Cited 2022 February 24]. Available from: https://go-dh.github.io/mincomp/thoughts/2015/05/21/user-vs-learner/.
- Gruber J. 2004. Markdown: Syntax. Daring Fireball [Internet]. Available from: https://daringfireball.net/projects/markdown/syntax.
- Invest in Open Infrastructure (Page 1). Invest in Open Infrastructure. [Accessed 2022 Feb 23]. Available from: https://investinopen.org/about/.
- Lewis DW, Goetsch L, Graves D, Roy M. 2018. Funding community controlled open infrastructure for scholarly communication: The 2.5% commitment initiative | Lewis | College & Research Libraries News. doi: https://doi.org/10.5860/crln.79.3.133. [Accessed 2022 Feb 9]. Available from: https://crln.acrl.org/index.php/crlnews/article/view/16902.
- Maxwell JW, Hanson E, Desai L, Tiampo C, O’Donnell K, Ketheeswaran A, Sun M, Walter E, Michelle E. 2019. Setting Context. In: Mind the Gap: A Landscape Analysis of Open Source Publishing Tools and Platforms. [Accessed 2022 Feb 23]. Available from: https://mindthegap.pubpub.org/pub/gei072ab/release/2.
- Newson K. 2017. Tools and Workflows for Collaborating on Static Website Projects. The Code4Lib Journal [Internet].(38). [Accessed 2022 Feb 23]. Available from: https://journal.code4lib.org/articles/12779.
- Rumianek, M. 2013. Archiving and recovering database-driven websites. D-Lib Magazine [Internet]. [Cited 2022 February 23]. Available from: http://www.dlib.org/dlib/january13/rumianek/01rumianek.html.
- Santiago A, Ray L. 2020. Navigating support models for OER publishing: case studies from the University of Houston and the University of Washington. Reference Services Review. 48(3):397–413. doi:10.1108/RSR-03-2020-0019.
- Schonfeld RC. 2017. Elsevier acquires institutional repository provider bepress. The Scholarly Kitchen. [Accessed 2022 Feb 23]. Available from: https://scholarlykitchen.sspnet.org/2017/08/02/elsevier-acquires-bepress/.
- Schonfeld RC. 2019. Invest in Open Infrastructure: An Interview with Dan Whaley. The Scholarly Kitchen. [Accessed 2022 Feb 17]. Available from: https://scholarlykitchen.sspnet.org/2019/06/12/invest-open-infrastructure/.
- Tenen D & Wythoff G. 2014. Sustainable Authorship in Plain Text using Pandoc and Markdown. The Programming Historian [Internet]. Available from: https://doi.org/10.46430/phen0041.
- Varner S. 2017. Minimal Computing in Libraries: Introduction. Minimal Computing [Internet]. [Accessed 2022 Feb 23]. Available from: https://go-dh.github.io/mincomp/thoughts/2017/01/15/mincomp-libraries-intro/.
- Wiley D. 2006. On the Sustainability of Open Educational Resource Initiatives in Higher Education. OECD’s Centre for Educational Research and Innovation [Internet]. [Cited 2022 February 24]. Available from: https://www.oecd.org/education/ceri/38645447.pdf.