Giter Club home page Giter Club logo

pydio-core's Introduction

Pydio Core

Homepage | GitHub-Repository | Issue-Tracker | Latest Stable | License Badge | Codacy Badge | Build Status

This is the main source code repository of Pydio (formerly AjaXplorer), containing all the PHP server and HTML5 Web GUI.

  • Latest Stable release : 7.0.2
  • Latest Dev release : 6.5.5 (Final Release Candidate for Pydio 7)
  • License: AGPLv3
  • Lead developer : Charles du Jeu (cdujeu): Github | Twitter

Getting support

Please DO NOT send emails to Charles, but use the forum located on https://pydio.com/forum/ instead. Once your problem is qualified, if it's a bug, you will be asked to enter it in the GitHub issue tracker.

How to contribute / Developer Resources

Setting up your dev environment

Pydio 7 requires PHP5.5.9 and upper.

The web root of the application is located in core/src/. Create a virtual host to point to this folder, set up your webserver to use index.php as default page. This is generally done by default.

Pydio uses Composer and NPM to manage dependencies respectively in PHP and JS. It uses Grunt to build javascript sources. In order to start Pydio locally after a fresh git clone, you will first have to run these tools in both the core and in many plugins.

  • First install Composer (see https://getcomposer.org) and NPM (https://docs.npmjs.com/getting-started/installing-node)
  • Install Grunt globally by running `npm install -g grunt-cli``
  • Inside the core folder (under webroot, i.e. core/src/core/ from root of git repository), run composer install
  • For each plugin that contains a composer.json file, run composer install as well.
  • For each plugin tat contains a package.json file, run
    • npm install
    • grunt

On a unix-based machine, this can be achieved by the following command (from the webroot directory):

find . -maxdepth 5 -name Gruntfile.js -execdir bash -c "npm install && grunt" \;  
find . -maxdepth 5 -name composer.json -execdir composer install \;

You should be good to go. When modifying JS files that require transpilation, there is generally a grunt watch task available to automatically run grunt on each file change.

Coding guidelines

To enforce some coding standards, please run scripts in

dist/scripts/tests/

Fixing the Core

If you think you have found a bug and a way to fix it neatly in the code, use a Pull Request to report this change back to us!

Writing new plugins

Please read the Developer doc located at https://pydio.com/en/docs/developer-guide-v7, you will find here a bunch of useful information about the plugins architecture, how to create your own plugin, etc. The action.skeleton plugin is a perfect start for that.

New in latest build, in the Settings panel, you can find a new "Developer" node where all actions contributed by all plugins are listed. These can be called either by http, or via the CLI API. At the same location, you will find all "hooks" registered and triggered in the server, that are VERY useful when you want your plugin to be really sandboxed.

Signing the CLA

Please sign the Contributor License Agreement before contributing.

pydio-core's People

Contributors

anaelmobilia avatar bloginow avatar c12simple avatar cdujeu avatar chusopr avatar depamarco avatar dnauck avatar dutchcloud4work avatar fdecourt avatar flauschbaellchen avatar fredpassos avatar garnetius avatar geraldst avatar ghecquet avatar hlev avatar isma91 avatar jprjr avatar kainv avatar leobouilloux avatar martinschaible avatar matsimon avatar mbaudier avatar mtskar avatar nanomani avatar panzaeron avatar salva-g avatar svetlemodry avatar thelexus avatar thomascresson avatar warhawk3407 avatar

Stargazers

 avatar

Watchers

 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.