Code Monkey home page Code Monkey logo

worlddevelopment / exercise_database Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 2.0 12.42 MB

Content parts database for upload, automatically splitting, sharing, composition, conversion of e.g. sheets of exercises or solutions in ODT,DOCX,TEX,HTML,... Initiative of University of Wuerzburg Didactics of Mathematics.

Home Page: http://didaktik.mathematik.uni-wuerzburg.de

Makefile 0.84% Perl 33.13% CSS 0.58% XSLT 2.26% JavaScript 0.89% TeX 2.38% Shell 0.09% Perl 6 0.02% Ruby 0.01% Java 47.14% PHP 0.03% HTML 11.67% C 0.78% Lex 0.16%
class compose database db didactics draft exercise learn lecture lecturer manage share sheet teacher

exercise_database's Issues

Support indexless|hierarchical generic content part declaration patterns.

Definitions

Indexless := no index numbering scheme, i.e. if a number occurs then it is either content or denoting a hierarchy in a markup and not a series. => numbers are explicit (no regular expression) => can only have an implicit ordering.
indexed := with index numbering scheme (i.e. explicite order)

Generic := filter by an expression (regex|wildcard|...)
Specific := explicit := filter by explicit content (repeating phrase)
Raw content := markup content
Content := plain text.content, i.e. the visual content like information text, media, ...

Content part declarations

  • [Content phrase filter] (matching all specific content parts within all hierarchy levels mixed)

    • generic|regex|wildcard

      • can match index (have an explicit series order)

        • all|mixed

          building[ ]*([\\d][ .->_]*)+:
          Solution[ ]*([\\d][ .->_]*)+:
          Exercise[ ]*([\\d][ .->_]*)+:
          Teacher[ ]*([\\d][ .->_]*)+:
          Text[ ]*([\\d][ .->_]*)+:
          
        • numbers+special chars only (have an explicit series order, hierarchy e.g. 1.1, 1.2, 2.1, ...)

          ([\\d].)+
          ([\\d])+
          

          Note: Number based index may need filtering of false positives due to numbers occuring in the content parts, too.)

      • guaranteed indexless

        Exercise[ ]*: // generic|regex|wildcard
        ...
        
    • specific|explicit (guaranteed indexless)

      • all|mixed
        Exercise:
        Teacher:
        Teacher (Physics):
        Teacher Physics:
        Structures :
        Structures:
        Text:
        Mission to achieve: // phrase is a sentence|clause
        
      • numbers+special chars only (e.g. 1.1:, 1.1:, 1.1:, ...)
        3:
        1.2:
        800:
        
  • [Raw content | Markup phrase filter]

    • specific|explicit, match only indexless (no order; numbers denote hierarchy depth; Matches only within one hierarchy level)

      #
      ##
      ---
      ===
      h1
      h2
      h:p level='1'
      header level="1"
      header level="2"
      ...
      
    • generic, can match index (Matching all series within all hierachy levels in one pass! [1])
      Note: This is the default case for XML base file formats. It requires keeping track of hierarchy depth counting in code because a node has no number attached! It can however have a style attached denoting depth.

      #+
      header[\\d]*
      h[\\d]*
      section
      
  • [Mixed: Markup & Content phrase filters]

    • specific, mostly indexless (matching all within one hierarchy level with a content filter:)
      #Breaking:
      # Tex
      # general information
      ## specific information
      
    • generic, match only indexless (Matching all series within all hierachy levels in one pass! [1])
      Note: For all XML base file formats this merged pattern is easier to achieve via postprocessing the respective content part's head after employing the generic, indexless filter.
      #+(^[<][\\w][>])*[Tt]ext
      #+[ ]?[Gg]eneral information
      

[1] Only of limited use as higher level elements have no content part if following strict sectioning. what remains is only the declaration unless there is summary|description content between e.g. 1. and its subsection 1.1 .

Purpose

They are essential for the worlddevelopment civilization editor, open bookkeeper bot, ...

A reusable generic module should avoid project specific package names. Rename aufgaben_db package.

It could be named in a generic or functional way:
e.g.

  • core
  • section_search
  • ...

If it is renamed to section_search, then specific Java files like Aufgaben_DB.java must be moved into another package if it is not generic or does not belong to section_search, else it could be renamed to Core.java.

If the package is renamed to core, then the library functionality could be isolated and called section_search.
Put the project onto the build path.
The source import path then were www.section_search.core.*.

A public domain prefix is employed as at.ciry does lose part of its meaning and international.worlddevelopment is long nor does a claim for worlddevelopment.int|ernational exist.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.