Invenio Architecture: Overview Invenio Technology Author Tibor Šimko Introduction Digital Library Invenio Ingestion Case Studies Sources Episode 1: Python Episode 2: Git Episode 3: Test Suite Episode 4: Building Efficient Indexes Episode 5: Load-balancing Processing Database Conclusions
Invenio Architecture: Overview Invenio Technology Author Tibor Šimko Introduction Digital Library Invenio Ingestion Case Studies Sources Episode 1: Python Episode 2: Git Episode 3: Test Suite Episode 4: Building Efficient Indexes Episode 5: Load-balancing Processing Database Conclusions Dissemination User
Invenio Architecture: Overview Invenio Technology Author Tibor Šimko Introduction Digital Library Invenio Ingestion Case Studies Sources Librarian Episode 1: Python Episode 2: Git Episode 3: Test Suite Episode 4: Building Efficient Indexes Episode 5: Load-balancing Processing Database Curation Conclusions Dissemination User
Invenio Architecture: Overview Invenio Technology Author Tibor Šimko Introduction Digital Library Invenio Ingestion Case Studies Sources Librarian Episode 1: Python Episode 2: Git Episode 3: Test Suite Episode 4: Building Efficient Indexes Episode 5: Load-balancing Processing Database Curation Conclusions Overview Dissemination User
Invenio Modules: Ingestion Invenio Technology Author Tibor Šimko Introduction Digital Library Invenio Case Studies Episode 1: Python Episode 2: Git Episode 3: Test Suite Episode 4: Building Efficient Indexes Episode 5: Load-balancing Conclusions
Invenio Modules: Ingestion Invenio Technology Author Tibor Šimko WebSession, WebAccess Introduction Digital Library WebSubmit Invenio Case Studies Episode 1: Python Episode 2: Git Episode 3: Test Suite Episode 4: Building Efficient Indexes Episode 5: Load-balancing Conclusions
Invenio Modules: Ingestion Invenio Technology Author Tibor Šimko WebSession, WebAccess Introduction Digital Library WebSubmit Invenio Case Studies Episode 1: Python Episode 2: Git Episode 3: Test Suite Episode 4: Building Efficient Indexes full-text document Episode 5: Load-balancing metadata Conclusions Metadata Full-text
Invenio Modules: Ingestion Invenio Technology Author Tibor Šimko WebSession, WebAccess Introduction Digital Library WebSubmit Invenio Case Studies Episode 1: Python Episode 2: Git Episode 3: Test Suite metadata Episode 4: Building Efficient Indexes full-text document Episode 5: Load-balancing BibConvert Conclusions MARCXML BibUpload BibSched Metadata Full-text
Invenio Modules: Ingestion Invenio Technology OAI Data Source Author Tibor Šimko WebSession, WebAccess Introduction Digital Library BibHarvest WebSubmit Invenio Case Studies Episode 1: Python Episode 2: Git Episode 3: Test Suite metadata Episode 4: Building Efficient Indexes full-text document Episode 5: Load-balancing BibConvert Conclusions MARCXML BibUpload BibSched Metadata Full-text
Invenio Modules: Ingestion Invenio Technology OAI Data Source Author Tibor Šimko WebSession, WebAccess Introduction Digital Library BibHarvest WebSubmit Invenio Case Studies Non-OAI Data Source Episode 1: Python Episode 2: Git Episode 3: Test Suite metadata Episode 4: Building Efficient Indexes full-text document Episode 5: Load-balancing ElmSubmit BibConvert Conclusions MARCXML BibUpload BibSched Metadata Full-text
Invenio Modules: Ingestion Invenio Technology OAI Data Source Author Tibor Šimko WebSession, WebAccess Introduction Digital Library BibHarvest WebSubmit Invenio Case Studies Non-OAI Data Source Episode 1: Python Episode 2: Git Episode 3: Test Suite metadata Episode 4: Building Efficient Indexes full-text document Episode 5: Load-balancing ElmSubmit BibConvert Conclusions MARCXML BibUpload BibSched Ingestion Metadata Full-text
Invenio Modules: Processing Invenio Technology Tibor Šimko Metadata Full-text Introduction Digital Library Invenio Case Studies Episode 1: Python Episode 2: Git Episode 3: Test Suite Episode 4: Building Efficient Indexes Episode 5: Load-balancing Conclusions
Invenio Modules: Processing Invenio Technology Tibor Šimko Metadata RefExtract Full-text Introduction Digital Library Invenio Case Studies Episode 1: Python BibClassify Episode 2: Git Episode 3: Test Suite Episode 4: Building Efficient Indexes Episode 5: Load-balancing Conclusions
Invenio Modules: Processing Invenio Technology Tibor Šimko Clusters BibIndex Metadata RefExtract Full-text Introduction Digital Library Invenio Case Studies Episode 1: Python BibClassify Episode 2: Git Episode 3: Test Suite Episode 4: Building Efficient Indexes Episode 5: Load-balancing Conclusions
Invenio Modules: Processing Invenio WebColl Technology Tibor Šimko Clusters BibIndex Metadata RefExtract Full-text Introduction Digital Library Invenio Case Studies Episode 1: Python BibClassify Episode 2: Git Episode 3: Test Suite Episode 4: Building Efficient Indexes Episode 5: Load-balancing Conclusions
Invenio Modules: Processing Invenio WebColl Technology Tibor Šimko Clusters BibIndex Metadata RefExtract Full-text Introduction Digital Library Invenio Case Studies Episode 1: Python BibRank BibClassify Episode 2: Git Episode 3: Test Suite Episode 4: Building Efficient Indexes Episode 5: Load-balancing Conclusions
Invenio Modules: Processing Invenio WebColl Technology Tibor Šimko Clusters BibIndex Metadata RefExtract Full-text Introduction Digital Library Invenio Case Studies Episode 1: Python BibRank BibClassify Episode 2: Git Episode 3: Test Suite Episode 4: Building Efficient Indexes Episode 5: Load-balancing BibFormat Conclusions
Invenio Modules: Processing Invenio WebColl Technology Tibor Šimko Clusters BibIndex Metadata RefExtract Full-text Introduction Digital Library Invenio Case Studies Episode 1: Python BibRank BibClassify Episode 2: Git Episode 3: Test Suite Episode 4: Building Efficient Indexes Episode 5: Load-balancing BibFormat Conclusions Processing
Invenio Modules: Dissemination Invenio Technology Tibor Šimko Clusters Metadata Full-text Introduction Digital Library Invenio Case Studies Episode 1: Python Episode 2: Git Episode 3: Test Suite Episode 4: Building Efficient Indexes Episode 5: Load-balancing Conclusions
Invenio Modules: Dissemination Invenio Technology Tibor Šimko Clusters Metadata Full-text Introduction Digital Library Invenio Case Studies WebSearch Episode 1: Python Episode 2: Git Episode 3: Test Suite Episode 4: Building Efficient Indexes Episode 5: User Load-balancing Conclusions
Invenio Modules: Dissemination Invenio Technology Tibor Šimko Clusters Metadata Full-text Introduction Digital Library Invenio Case Studies WebBasket WebSearch Episode 1: Python Episode 2: Git Episode 3: Test Suite Episode 4: Building Efficient Indexes Episode 5: User Load-balancing Conclusions
Invenio Modules: Dissemination Invenio Technology Tibor Šimko Clusters Metadata Full-text Introduction Digital Library Invenio Case Studies WebTag WebBasket WebSearch Episode 1: Python Episode 2: Git Episode 3: Test Suite Episode 4: Building Efficient Indexes Episode 5: User Load-balancing Conclusions
Invenio Modules: Dissemination Invenio Technology Tibor Šimko Clusters Metadata Full-text Introduction Digital Library Invenio Case Studies WebTag WebBasket WebSearch WebAlert Episode 1: Python Episode 2: Git Episode 3: Test Suite Episode 4: Building Efficient Indexes Episode 5: User Load-balancing Conclusions
Invenio Modules: Dissemination Invenio Technology Tibor Šimko Clusters Metadata Full-text Introduction Digital Library Invenio Case Studies WebTag WebBasket WebSearch WebAlert BibHarvest Episode 1: Python Episode 2: Git Episode 3: Test Suite Episode 4: Building Efficient Indexes Episode 5: User OAI Harvester Load-balancing Conclusions
Invenio Modules: Dissemination Invenio Technology Tibor Šimko Clusters Metadata Full-text Introduction Digital Library Invenio Case Studies WebTag WebBasket WebSearch WebAlert BibHarvest Episode 1: Python Episode 2: Git Episode 3: Test Suite Episode 4: Building Efficient Indexes Episode 5: WebComment User OAI Harvester Load-balancing Conclusions
Invenio Modules: Dissemination Invenio Technology Tibor Šimko Clusters Metadata Full-text Introduction Digital Library Invenio Case Studies WebTag WebBasket WebSearch WebAlert BibHarvest Episode 1: Python Episode 2: Git Episode 3: Test Suite Episode 4: Building Efficient Indexes Episode 5: WebComment User OAI Harvester Load-balancing Conclusions WebMessage
Invenio Modules: Dissemination Invenio Technology Tibor Šimko Clusters Metadata Full-text Introduction Digital Library Invenio Case Studies WebTag WebBasket WebSearch WebAlert BibHarvest Episode 1: Python Episode 2: Git Episode 3: Test Suite Episode 4: Building Efficient Indexes Episode 5: WebComment User OAI Harvester Load-balancing Conclusions WebJournal WebMessage
Invenio Modules: Dissemination Invenio Technology Tibor Šimko Clusters Metadata Full-text Introduction Digital Library Invenio Case Studies WebTag WebBasket WebSearch WebAlert BibHarvest Episode 1: Python Episode 2: Git Episode 3: Test Suite Episode 4: Building Efficient Indexes Episode 5: WebComment User OAI Harvester Load-balancing Conclusions WebJournal WebMessage BibCirculation
Invenio Modules: Dissemination Invenio Technology Tibor Šimko Clusters Metadata Full-text Introduction Digital Library Invenio Case Studies WebTag WebBasket WebSearch WebAlert BibHarvest Episode 1: Python Episode 2: Git Episode 3: Test Suite Episode 4: Building Efficient Indexes Episode 5: WebComment User OAI Harvester Load-balancing Conclusions WebJournal WebMessage BibCirculation WebStat
Invenio Modules: Dissemination Invenio Technology Tibor Šimko Clusters Metadata Full-text Introduction Digital Library Invenio Case Studies WebTag WebBasket WebSearch WebAlert BibHarvest Episode 1: Python Episode 2: Git Episode 3: Test Suite Episode 4: Building Efficient Indexes Episode 5: WebComment User OAI Harvester Load-balancing Conclusions WebJournal WebMessage BibCirculation WebStat WebHelp
Invenio Modules: Dissemination Invenio Technology Tibor Šimko Clusters Metadata Full-text Introduction Digital Library Invenio Case Studies WebTag WebBasket WebSearch WebAlert BibHarvest Episode 1: Python Episode 2: Git Episode 3: Test Suite Episode 4: Building Efficient Indexes Episode 5: WebComment User OAI Harvester Load-balancing Conclusions WebJournal WebMessage BibCirculation WebStat WebHelp Dissemination
Invenio Modules: Curation Invenio Technology Tibor Šimko Introduction Metadata Full-text Librarian Digital Library Invenio Case Studies Episode 1: Python Episode 2: Git Episode 3: Test Suite Episode 4: Building Efficient Indexes Episode 5: Load-balancing Conclusions
Invenio Modules: Curation Invenio Technology Tibor Šimko Introduction Metadata BibEdit Full-text Librarian Digital Library Invenio Case Studies Episode 1: Python Episode 2: Git Episode 3: Test Suite Episode 4: Building Efficient Indexes Episode 5: Load-balancing Conclusions
Invenio Modules: Curation Invenio MultiEdit Technology Tibor Šimko Introduction Metadata BibEdit Full-text Librarian Digital Library Invenio Case Studies Episode 1: Python Episode 2: Git Episode 3: Test Suite Episode 4: Building Efficient Indexes Episode 5: Load-balancing Conclusions
Invenio Modules: Curation Invenio MultiEdit Technology Tibor Šimko Introduction Metadata BibEdit Full-text Librarian Digital Library Invenio Case Studies Episode 1: Python Episode 2: Git Episode 3: Test Suite BatchUploader Episode 4: Building Efficient Indexes Episode 5: Load-balancing Conclusions
Invenio Modules: Curation Invenio MultiEdit Technology Tibor Šimko Introduction Metadata BibEdit Full-text Librarian Digital Library Invenio Case Studies Episode 1: Python Episode 2: Git Episode 3: Test Suite BatchUploader Episode 4: Building Efficient Indexes Episode 5: Load-balancing Conclusions BibCheck
Invenio Modules: Curation Invenio MultiEdit Technology Tibor Šimko Introduction Metadata BibEdit Full-text Librarian Digital Library Invenio Case Studies Episode 1: Python Episode 2: Git Episode 3: Test Suite BatchUploader Episode 4: Building Efficient Indexes Episode 5: Load-balancing Conclusions BibCheck BibCirculation
Invenio Modules: Curation Invenio MultiEdit Technology Tibor Šimko Introduction Metadata BibEdit BibDocFile Full-text Librarian Digital Library Invenio Case Studies Episode 1: Python Episode 2: Git Episode 3: Test Suite BatchUploader Episode 4: Building Efficient Indexes Episode 5: Load-balancing Conclusions BibCheck BibCirculation
Invenio Modules: Curation Invenio BibClassify MultiEdit Technology Tibor Šimko Introduction Metadata BibEdit BibDocFile Full-text Librarian Digital Library Invenio Case Studies Episode 1: Python Episode 2: Git Episode 3: Test Suite BatchUploader Episode 4: Building Efficient Indexes Episode 5: Load-balancing Conclusions BibCheck BibCirculation
Invenio Modules: Curation Invenio BibClassify MultiEdit Technology Tibor Šimko Introduction Metadata BibEdit BibDocFile Full-text Librarian Digital Library Invenio Case Studies Episode 1: Python Episode 2: Git Episode 3: Test Suite BatchUploader RefExtract Episode 4: Building Efficient Indexes Episode 5: Load-balancing Conclusions BibCheck BibCirculation
Invenio Modules: Curation Invenio BibClassify MultiEdit Technology Tibor Šimko Introduction Metadata BibEdit BibDocFile Full-text Librarian Digital Library Invenio Case Studies Episode 1: Python Episode 2: Git Episode 3: Test Suite BatchUploader RefExtract Episode 4: Building Efficient Indexes Episode 5: Load-balancing Conclusions BibCatalog BibCheck Tasks BibCirculation
Invenio Modules: Curation Invenio BibClassify MultiEdit Technology Tibor Šimko Introduction Metadata BibEdit BibDocFile Full-text Librarian Digital Library Invenio Case Studies Episode 1: Python Episode 2: Git Episode 3: Test Suite BatchUploader RefExtract BibKnowledge Episode 4: Building Efficient Indexes Episode 5: Load-balancing Conclusions BibCatalog BibCheck Knowledge Bases Tasks BibCirculation
Invenio Modules: Curation BibExport Invenio BibClassify MultiEdit Technology Tibor Šimko Introduction Metadata BibEdit BibDocFile Full-text Librarian Digital Library Invenio Case Studies Episode 1: Python Episode 2: Git Episode 3: Test Suite BatchUploader RefExtract BibKnowledge Episode 4: Building Efficient Indexes Episode 5: Load-balancing Conclusions BibCatalog BibCheck Knowledge Bases Tasks BibCirculation
Invenio Modules: Curation BibExport Invenio BibMatch BibClassify MultiEdit Technology Tibor Šimko Introduction Metadata BibEdit BibDocFile Full-text Librarian Digital Library Invenio Case Studies Episode 1: Python Episode 2: Git Episode 3: Test Suite BatchUploader RefExtract BibKnowledge Episode 4: Building Efficient Indexes Episode 5: Load-balancing Conclusions BibCatalog BibCheck Knowledge Bases Tasks BibCirculation
Invenio Modules: Curation BibExport Invenio BibMatch BibClassify MultiEdit Technology Tibor Šimko Introduction Metadata BibEdit BibDocFile Full-text Librarian Digital Library Invenio Case Studies Episode 1: Python Episode 2: Git Episode 3: Test Suite BatchUploader RefExtract BibMerge BibKnowledge Episode 4: Building Efficient Indexes Episode 5: Load-balancing Conclusions BibCatalog BibCheck Knowledge Bases Tasks BibCirculation
Invenio Modules: Curation BibExport Invenio BibMatch BibClassify MultiEdit Technology Tibor Šimko Introduction Metadata BibEdit BibDocFile Full-text Librarian Digital Library Invenio Case Studies Episode 1: Python Episode 2: Git Episode 3: Test Suite BatchUploader RefExtract BibMerge BibKnowledge Episode 4: Building Efficient Indexes Episode 5: Load-balancing Conclusions BibCatalog BibCheck Curation Knowledge Bases Tasks BibCirculation
Invenio Modules: Summary Invenio Technology ∼ 33 modules Tibor Šimko codebase Introduction ∼ 290,000 lines of Python code Digital Library ∼ 12,000 lines of JavaScript code Invenio Case Studies ∼ 6,000 lines of XSL code Episode 1: Python ∼ 5,000 lines of autotools code Episode 2: Git Episode 3: Test Suite ∼ 75 authors since inception Episode 4: Building Efficient Indexes ∼ 25 authors and contributors in 2010 Episode 5: Load-balancing many short-term students Conclusions importance of informal coding standards ∼ 10 years of development started at CERN, first release in 2002 now co-developed world-wide (EU, US) lego programming... but no silver bullet
Outline Invenio Technology Introduction Tibor Šimko 1 Digital Library Introduction Invenio Digital Library Invenio Case Studies Episode 1: Python Case Studies 2 Episode 2: Git Episode 3: Test Suite Episode 1: Python Episode 4: Building Efficient Indexes Episode 2: Git Episode 5: Load-balancing Episode 3: Test Suite Conclusions Episode 4: Building Efficient Indexes Episode 5: Load-balancing Conclusions 3
Why Python? Invenio Technology Tibor Šimko Introduction Digital Library Invenio easy to read and understand Case Studies (good for many temporary developers) Episode 1: Python Episode 2: Git suitable for rapid prototyping Episode 3: Test Suite Episode 4: Building Efficient Indexes (good for organic-growth software development model) Episode 5: Load-balancing write code to throw it away Conclusions
Art of Ikebana Invenio Technology Tibor Šimko Japanese art of flower Introduction arrangement Digital Library Invenio “way of flowers” Case Studies Episode 1: Python natural shapes, graceful Episode 2: Git Episode 3: Test Suite lines Episode 4: Building Efficient Indexes Episode 5: minimalism Load-balancing Conclusions “disciplined art form in which nature and humanity are brought together”
Art of Ikebana Programming Invenio Technology Tibor Šimko Java? Introduction Digital Library ♥❡✇ ❈❛❧❧❛❜❧❡✭✮ ④ Invenio ♣✉❜❧✐❝ ❖❜❥❡❝t ❝❛❧❧✭❖❜❥❡❝t ①✮ ④ Case Studies r❡t✉r♥ ①✳t✐♠❡s✭❦✮ Episode 1: Python Episode 2: Git ⑥ Episode 3: Test Suite Episode 4: Building ⑥ Efficient Indexes Episode 5: Load-balancing Conclusions Python! ❧❛♠❜❞❛ ①✿ ❦ ✯ ①
Art of Ikebana Programming Invenio Technology Tibor Šimko Java? Introduction Digital Library ♥❡✇ ❈❛❧❧❛❜❧❡✭✮ ④ Invenio ♣✉❜❧✐❝ ❖❜❥❡❝t ❝❛❧❧✭❖❜❥❡❝t ①✮ ④ Case Studies r❡t✉r♥ ①✳t✐♠❡s✭❦✮ Episode 1: Python Episode 2: Git ⑥ Episode 3: Test Suite Episode 4: Building ⑥ Efficient Indexes Episode 5: Load-balancing Conclusions Python! ❧❛♠❜❞❛ ①✿ ❦ ✯ ①
Speeding Up Python Invenio Technology bytecode interpreted language: what about speed? Tibor Šimko Cython permits to write C extensions easily Introduction combining efficiency of C with high-levelness of Python Digital Library Invenio Case Studies Example: intbitset.pyx Episode 1: Python Episode 2: Git Episode 3: Test Suite Episode 4: Building Efficient Indexes ❝t②♣❡❞❡❢ ✉♥s✐❣♥❡❞ ❧♦♥❣ ❧♦♥❣ ✐♥t ✇♦r❞❴t Episode 5: Load-balancing Conclusions ❝t②♣❡❞❡❢ str✉❝t ■♥t❇✐t❙❡t✿ ✐♥t s✐③❡ ✐♥t ❛❧❧♦❝❛t❡❞ ✇♦r❞❴t tr❛✐❧✐♥❣❴❜✐ts ✐♥t t♦t ✇♦r❞❴t ✯❜✐ts❡t
Outline Invenio Technology Introduction Tibor Šimko 1 Digital Library Introduction Invenio Digital Library Invenio Case Studies Episode 1: Python Case Studies 2 Episode 2: Git Episode 3: Test Suite Episode 1: Python Episode 4: Building Efficient Indexes Episode 2: Git Episode 5: Load-balancing Episode 3: Test Suite Conclusions Episode 4: Building Efficient Indexes Episode 5: Load-balancing Conclusions 3
Why Git? Invenio Technology Tibor Šimko good for distributed teams Introduction Digital Library offline development possible Invenio Case Studies “pull on demand” collaboration model Episode 1: Python (as opposed to “shared push” collaboration model) Episode 2: Git Episode 3: Test Suite inherent,natural code review process Episode 4: Building Efficient Indexes Episode 5: commit early, commit often (to private repositories) Load-balancing Conclusions rebase and clean (before pushing for public consumption) interplay with SVN
Git Branches Invenio Technology Tibor Šimko Introduction Digital Library Invenio Case Studies Episode 1: Python Episode 2: Git master C 1 Episode 3: Test Suite Episode 4: Building Efficient Indexes Episode 5: Load-balancing Conclusions
Git Branches Invenio Technology Tibor Šimko Introduction Digital Library Invenio Case Studies Episode 1: Python Episode 2: Git master C 1 C 2 Episode 3: Test Suite Episode 4: Building Efficient Indexes Episode 5: Load-balancing Conclusions
Git Branches Invenio Technology Tibor Šimko Introduction Digital Library Invenio Case Studies v1.0.0 Episode 1: Python Episode 2: Git master C 1 C 2 C 3 Episode 3: Test Suite Episode 4: Building Efficient Indexes Episode 5: Load-balancing Conclusions
Git Branches Invenio Technology Tibor Šimko Introduction Digital Library Invenio Case Studies v1.0.0 Episode 1: Python Episode 2: Git master C 1 C 2 C 3 C 4 Episode 3: Test Suite Episode 4: Building Efficient Indexes Episode 5: Load-balancing Conclusions
Git Branches Invenio Technology Tibor Šimko Introduction Digital Library Invenio maintenance M 1 Case Studies v1.0.0 Episode 1: Python Episode 2: Git master C 1 C 2 C 3 C 4 Episode 3: Test Suite Episode 4: Building Efficient Indexes Episode 5: Load-balancing Conclusions
Git Branches Invenio Technology Tibor Šimko Introduction Digital Library Invenio maintenance M 1 M 2 Case Studies v1.0.0 Episode 1: Python Episode 2: Git master C 1 C 2 C 3 C 4 Episode 3: Test Suite Episode 4: Building Efficient Indexes Episode 5: Load-balancing Conclusions
Git Branches Invenio Technology Tibor Šimko Introduction Digital Library Invenio maintenance M 1 M 2 Case Studies v1.0.0 Episode 1: Python Episode 2: Git master C 1 C 2 C 3 C 4 Episode 3: Test Suite C 5 Episode 4: Building Efficient Indexes Episode 5: Load-balancing Conclusions
Git Branches Invenio Technology Tibor Šimko Introduction v1.0.1 Digital Library Invenio maintenance M 1 M 2 M 3 Case Studies v1.0.0 Episode 1: Python Episode 2: Git master C 1 C 2 C 3 C 4 Episode 3: Test Suite C 5 Episode 4: Building Efficient Indexes Episode 5: Load-balancing Conclusions
Git Branches Invenio Technology Tibor Šimko M 4 Introduction v1.0.1 Digital Library Invenio maintenance M 1 M 2 M 3 Case Studies v1.0.0 Episode 1: Python Episode 2: Git master C 1 C 2 C 3 C 4 Episode 3: Test Suite C 5 Episode 4: Building Efficient Indexes Episode 5: Load-balancing Conclusions
Git Branches Invenio Technology Tibor Šimko M 4 Introduction v1.0.1 Digital Library Invenio maintenance M 1 M 2 M 3 Case Studies v1.0.0 Episode 1: Python Episode 2: Git master C 1 C 2 C 3 C 4 Episode 3: Test Suite C 5 Episode 4: Building Efficient Indexes Episode 5: Load-balancing N 1 next Conclusions
Git Branches Invenio Technology Tibor Šimko M 4 Introduction v1.0.1 Digital Library Invenio maintenance M 1 M 2 M 3 Case Studies v1.0.0 Episode 1: Python Episode 2: Git master C 1 C 2 C 3 C 4 C 6 Episode 3: Test Suite C 5 Episode 4: Building Efficient Indexes Episode 5: Load-balancing N 1 next Conclusions
Git Branches Invenio Technology Tibor Šimko M 4 Introduction v1.0.1 Digital Library Invenio maintenance M 1 M 2 M 3 Case Studies v1.0.0 Episode 1: Python Episode 2: Git master C 1 C 2 C 3 C 4 C 6 Episode 3: Test Suite C 5 Episode 4: Building Efficient Indexes Episode 5: Load-balancing N 1 N 2 next Conclusions
Git Branches Invenio Technology Tibor Šimko M 4 Introduction v1.0.1 Digital Library Invenio maintenance M 1 M 2 M 3 Case Studies v1.0.0 v1.1.0 Episode 1: Python Episode 2: Git master C 1 C 2 C 3 C 4 C 6 Episode 3: Test Suite C 5 C 7 Episode 4: Building Efficient Indexes Episode 5: Load-balancing N 1 N 2 next Conclusions
Git Branches Invenio Technology v1.0.2 Tibor Šimko M 4 M 5 Introduction v1.0.1 Digital Library Invenio maintenance M 1 M 2 M 3 Case Studies v1.0.0 v1.1.0 Episode 1: Python Episode 2: Git master C 1 C 2 C 3 C 4 C 6 Episode 3: Test Suite C 5 C 7 Episode 4: Building Efficient Indexes Episode 5: Load-balancing N 1 N 2 next Conclusions
Git Branches Invenio Technology v1.0.2 Tibor Šimko M 4 M 5 Introduction v1.0.1 Digital Library Invenio maintenance M 1 M 2 M 3 Case Studies v1.0.0 v1.1.0 Episode 1: Python Episode 2: Git master C 1 C 2 C 3 C 4 C 6 Episode 3: Test Suite C 5 C 7 Episode 4: Building Efficient Indexes Episode 5: Load-balancing N 1 N 2 next Conclusions maint — release maintenance branch master — new feature branch next — things not yet release-ready
Git Development Invenio Technology Tibor Šimko Introduction M 1 Digital Library maint Invenio Case Studies Episode 1: Python Episode 2: Git master C 1 Episode 3: Test Suite Episode 4: Building Efficient Indexes Episode 5: Load-balancing Conclusions next N 1
Git Development Invenio Technology B 1 some-bugfix Tibor Šimko Introduction M 1 Digital Library maint Invenio Case Studies Episode 1: Python Episode 2: Git master C 1 Episode 3: Test Suite Episode 4: Building Efficient Indexes Episode 5: Load-balancing Conclusions next N 1
Git Development Invenio Technology B 1 some-bugfix Tibor Šimko Introduction M 1 M 2 Digital Library maint Invenio Case Studies Episode 1: Python Episode 2: Git master C 1 C 2 Episode 3: Test Suite Episode 4: Building Efficient Indexes Episode 5: Load-balancing Conclusions next N 1 N 2
Git Development Invenio Technology B 1 B 2 some-bugfix Tibor Šimko Introduction M 1 M 2 Digital Library maint Invenio Case Studies Episode 1: Python Episode 2: Git master C 1 C 2 Episode 3: Test Suite Episode 4: Building Efficient Indexes Episode 5: Load-balancing Conclusions next N 1 N 2
Recommend
More recommend