Giter VIP home page Giter VIP logo

com_api's Introduction

Joomla! API - Generic RESTful API framework for Joomla! 2.5

What is it?

The Joomla! API is an extension that provides a framework for creating a RESTful API for a Joomla! 2.5 site. It is infinitely extendable through the use of the standard Joomla! plugin system.

Goals

The following are the goals of the project:

  • RESTful Joomla! Interface: The purpose of this extension is to provide a standardized interface for creating RESTful API's for Joomla! sites. Existing extensions can easily expose data by creating simple plugins.

  • Simplicity: This extension's libraries and class hierarchies have been written to handle the nitty-gritty aspects of API interaction so that developers can focus solely on making their extensions accessible.

  • Flexibility: The framework will allow developers to implement varying degrees of RESTful concepts in their interfaces while also giving them the flexibility to override some core functionality.

If you want to make it better

Please feel free to make suggestions for ways to make this framework better or more flexible. It is already in use on a couple live sites and I plan to keep actively developing for as long as it makes sense. I built it to my own specifications, but I would definitely be interested in suggestions for better ways of doing things.

How do I use it?

There are a few ways you can install this on your site.

Phing: If you don't have Phing installed, get it here. From the repository root:

phing -f phing/build.xml

That should create a folder at phing/packages with an installable zip.

Symbolic Link: On a *NIX system, run the following command from the repository root:

./scripts/symlink.sh

It will then ask you for the full path to your site root. You will then need to run the SQL found in administrator/components/com_jm/install.mysql.sql on your site database.

Manual Install: This is the same concept as using the symlink, except you'll need to copy the component files to your site (or run your site from within the "code" folder) and then run install.mysql.sql.

Plugins and extending

There are various plugins that I have already created and you can find them on the com_api-plugins repo.

Usage example

At the moment there is no SEF plugin to make it a true RESTful call, so for now calls must look like this: /index.php?option=com_api&token=xxxxxx&app=users&resource=user Depending on your request you may send the parameters through GET,POST,PUT,DELETE

Roadmap

  • API/Method documentation
  • A fully working API Plugin (probably com_content)
  • Viewable logs
  • Plugin SEF URL's
  • Automatic XML generation
  • Backend API key check-in/check-out
  • Per API key request limiting

com_api's People

Contributors

rcorral avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

com_api's Issues

API Resource Not Found

Firstly, thank you for this extension, it looks great! However, I have been unable to get it to work yet.

To start with, I couldn't get a clean output without adding the tmpl and format parameters. This is the working URL I have:

http://www.xxxxxxx.com/index.php?tmpl=component&format=raw&option=com_api&token=81e909a38be1e9eb8cb835a06a788f4e6fab60c5&app=users&resrouce=user

But I can't get past the following response:

{"error":true,"code":404,"message":"API Resource Not Found"}

I have installed and published all of your plugins but this message is as far as I can get.

Do you have any idea what the problem is? What am I doing wrong?

Many thanks,

Joe

Read Me

Hi,
I don't really know how to use your api and it's plugins.
Any help?

Joomla 2.5 + rest api

Hi I installed the Joomla rest api ( rcorral-com_api-plugins-1dc4e5a ) with ./scripts/symlink.sh, it created an link from joomla root dir to api dir.

But now what would be the next step, what plugin need to install & from where and how to test the rest api.

can I know this in details.

Thanks

Users plugin

Hi

I am manually compressing the user plugin under "rcorral-com_api-plugins-1dc4e5a/code/plugins/api"

as "users.zip" and when trying to install it through standard joomla extension manager, getting following error

JInstaller: :Install: File does not exist /var/www/html/demoapi/tmp/install_507c1c7e7f51c/users/language/en-GB/en-GB.plg_api_users.ini

Any help..

Not working out of the box for symlinks

I've cloned both com_api & com_api-plugins repositories, and I've opted for the symlink installation but it didn't work out of the box.

I edited symlink.sh to mirror all folders with com_api and not com_jm, after that, it worked. ;)

Best regards, and thank you for this great work!

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.