Uploaded image for project: 'ModeShape'
  1. ModeShape
  2. MODE-1660

Command Line Repository Admin Tool

    XMLWordPrintable

Details

    Description

      ModeShape is currently missing an administrative tool for production installations. Something like "psql" for postgreSQL "mysql" for the mysql database and "sqlplus" for oracle.

      The tool should be useable for repositories hosted in a server (jboss, tomcat, whatever) and for repositories in standalone apps (but not sure how this works at the api to the repository)

      A brief list of the sort of operations that I can think of at the moment are included below. Some may make no sense (ie: I've misunderstood something) and I am sure there are some operations I haven't thought of.

      Control Language

      Around all of this should be some sort of simple control language (not PL/SQL with a syntax that fits naturally with the rest of the operations. The control language should include functions, loops, if/then/else and variables (at least).

      The tool should be able to execute a control language script from a file.

      Repository Functions

      • Select a server
      • Select a repository hosted in a server
      • Load a CND schema file into the current repository
      • Dump the current CND schema into a file
      • Modify the current schema
        • add new node type
        • delete a node type (probably should fail if there are any nodes of this type)
        • add a property to a node type
        • remove a property from a node type
        • add a child node definition to a node type
        • remove a child node definition from a node type
        • change a property type (without remove/add)
      • Execute a query (JCR-SQL2 at least, maybe support xpath and JCR-SQL?)
        • result type should be configurable to json, csv or xml?
        • should be able to redirect output to a file.
      • Export a repository to a file
        • select which node to start from
        • Selectable output type
      • Import a repository from a file
        • select node to import to
        • detect input file type
      • Node operations
        • start (a session, saved later)
        • create node
        • delete node
        • set property
        • remove property
        • add child
        • remove child
        • add mixin
        • remove mixin
        • save (session)
      • Node Version operations
        • Checkout
        • Checkin
        • Checkpoint
        • show versions
          • including created data, who created and version name at least
        • Version labels?
      • Transactions
        • begin
        • commit
        • rollback

      Attachments

        Issue Links

          Activity

            People

              oleg.kulikov Oleg Kulikov (Inactive)
              bwallis42_jira Brian Wallis (Inactive)
              Votes:
              1 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: