GithubHelp home page GithubHelp logo

nevermatch / davix Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cern-fts/davix

0.0 2.0 0.0 4.8 MB

davix IT-SDC-ID repository, sync repos with git.cern.ch

License: GNU Lesser General Public License v2.1

CMake 6.06% Shell 1.44% C++ 80.72% Makefile 0.14% C 0.23% Python 11.41%

davix's Introduction

   		=== DAVIX ===

        Davix provides a share library and tools for advanced file I/O
              with HTTP based protocols. It is compatible WebDav, S3, HTTP

       Davix is composed of a shared library, libdavix and of a set of utility tools for data management

       Libdavix offers a high level C++ File API allowing resource manipulation with abstraction of the protocol.

       Libdavix has been design with the following objectives in mind :
        - Simplicity
        - High performances
        - Reliability
        - Portability


   * Davix and libdavix Website and documentation link :

            http://dmc.web.cern.ch/projects/davix/home


   * Is Davix is an other HTTP Library ?

        No, Davix targets file and resources interactions.
        It provides a high level abstraction of the underlying HTTP protocol mechanisms
		

   * What does Davix support ?

        Davix supports :
            - all common file manipulation operations ( Stat, read, write,  copy, delete, rename  )
            - all common posix operation ( stat/opendir/readdir/open/read/write/close/mkdir )
            - Webdav and XML parsing
            - remote random I/O
            - client side credential in PEM, P12 format, VOMS proxy, RFC proxy with support of VOMS extensions
            - transparent redirection caching
            - third party copy Server to Server
            - Session reuse for both SSL and HTTP
            - Basic authentication scheme
            - S3 authentication
            - bulk operations
            - metalinks

        Davix is going to support soon :
            - transparent meta-link support with failover
            - kerberos auth


   * How to compile :

    - Davix Dependencies :
       -  openssl
       -  libxml-2.0
       -  boost  (available as submodule)
       -  doxygen ( optional, for doc generation )
       -  gtest ( optional, unit tests only )


    - Compile  :
        $ #  For Mac OSX and grid usage, see Compile Davix in embedded mode 
        $ git https://github.com/cern-it-sdc-id/davix.git davix
        $ cd davix
        $ mkdir build; cd build
        $ cmake ../
        $ make 
          

    - Generate doc :
        - * run cmake
        - make doc
        
    - Compile Davix in embedded mode ( no dependencies ) :
        $ git clone https://github.com/cern-it-sdc-id/davix.git davix
        $ cd davix
        $ git submodule update --recursive --init
        $ mkdir build; cd build
        $ cmake -D BOOST_EXTERNAL=NO ../
        $ make               

    - Compile and run unit tests :
        - cmake -DUNIT_TESTS=TRUE ../
        - make
        - make test

    - Compile & execute func tests :
         * warning : functionals test needs davserver and a valid credential
        - " 4. cmake  -DFUNCTIONAL_TESTS=TRUE ../ "
        - " 5. . ../test/setup_test_env.sh
        - " 5.  make; make test"

    - create SRPM :
        - ./packaging/bin/packager_rpm.sh ./packaging/rpm/specs/ ./
        - mock -r [mycfg] RPMS/davix-[...].src.rpm

    * How to use

        * Libdavix, please follow the comments in the doxygen generated documentation

        * Command line tools
            davix-ls: listing and meta-data
            davix-del: delete existing resource or collection
            davix-get: download and display the content of a resource
            davix-put: upload the content of a resource
            davix-cp: copy, support 3rd party copy
            davix-mk: create collection or resource.
            davix-mv: relocate resource



     * Davix Support or information :

     	Any suggestion is welcome.

        please contact us on [email protected] ( CERN e-group & mailing list ) or personnaly on [email protected]

        Davix is an open source and free project and will stay like this.
        Any contribution is welcome


davix's People

Contributors

adevress avatar ayllon avatar ericktcheung avatar ffurano avatar

Watchers

 avatar  avatar

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.