Fork me on GitHub



Make donations with PayPal!
Goal: $100.00
Due Date: Oct 31
Gross Amount: $0.00
Net Balance: $0.00
Left to go: $100.00

GitHub Twitter

Learn XOOPS Core

Local Support


XOOPS Code hosted on SourceForge

Cumulus Tag Cloud

- 2 2.5 2.6 4 6 admin adslight Android AntiHarvesting AntiSpam API Apple Battlefield billige Blocks Bootstrap Captcha cell cent chronolabs Clicks Cloud content CĂN demo download Dresses facebook Fat floor Gateway giải Google Guide herre Home Honeypot html5 Human HỘ IP iPhone jQuery Language Law Legal List log Loss module modules Monster new newbb news nhiệt NHÀ online PARK Payment phone PHP Plugin Prevention profile project Protector publisher RESIDENCE responsive review Rights Room security Sentry Signed site Smartphone Smarty Smoking Solution Spam stem Studio support tag tdmcreate The Theme themes User userlog weight xoops Xortify XPayment ZendFramework

New Users

Registering user

# 139413


Welcome to XOOPS!


News archives

XOOPS 2.6.0 Service Manager: Introduction

Posted by Mamba on 2014/5/21 3:53:57 (8098 reads) | Posted on XOOPS
In XOOPS 2.6.0 alpha 2, some familiar services that were traditionally internal parts of the core were separated into modules. Some examples are: avatars, comments, and notifications

The separated module approach achieves some important benefits:

● Modules can be updated independently.
● Modules can have private resources, such as templates, configurations, maintenance pages.
● Modules can be omitted if not needed, saving some resources.

But there are potential benefits to separation that were not realized:

● The service modules were not easily replaced with alternate implementations
● References using hard coded module names litter the entire system wherever a service is needed

In XOOPS 2.6.0 we'll introduce a "Service Manager" component:

● Services located by service name, not provider
● Service interface established by Contract
● Returns a standardized Response object that includes result, status and messages
● Request is based on a well known interface
● Actual provider does not matter to caller
● No need to check for a specific module
● If the service is not available, that status is returned just like any other error condition.
● Service providers are only instantiated when explicitly requested, and then kept for the duration of the PHP run.
● A locate event is not triggered until a named service is first requested, so if a service is not used, it has no overhead cost.
● If no providers for a service are installed, the locate trigger has little cost, and any subsequent calls go straight to a NullProvider that minimizes resource use.

Richard Griffith, our Core Team leader, has created a presentation to show you how XOOPS 2.6.0 will implement the Service Manager, and how to use it. You can see the presentation on SlideShare

This is the second presentation from our new "XOOPS 2.6.0 Education Series", where we will share with new features being developed for XOOPS 2.6.0, and show you how to use them.

The first presentation was about Asset Management using Assetic

XOOPS 2.6.0 is currently in development, in pre-Alpha 3 stage.

There is a lot of new development going into XOOPS 2.6.0, as you can see from these articles:

XOOPS is back, and with a vengeance!

Major improvements to XOOPS 2.6.0, Alpha 3 release is getting closer!

and after adding Doctrine, PHPUnit, Composer, Assetic, and several other cool things, Service Manager is another component that will simplify XOOPS development!

You can contribute to the XOOPS 2.6.0 development by forking it from GitHub, and submitting your code there.

We would also like to thank Slider84 from XOOPS France for his help in creating the template for this presentation!


Printer friendly page Send this story to a friend Create a PDF from the article
Bookmark Me
Bookmark to Google Plus
The comments are owned by the author. We aren't responsible for their content.

You are doing a great advance with Xoops 2.6.0
This is like a dream comes true.
And, after reading this and seeing the slideshare presentation, I am feeling like a newbie with all this stuff.
Published: 2014/5/21 11:54 • Updated: 2014/5/21 11:54
I have started a thread to discuss this great new feature.

If you are a module developer you should be excited by this new development because it allows you to easily expose your module for other people to use.
Published: 2014/5/21 16:10 • Updated: 2014/5/21 16:10
You are doing a great advance with Xoops 2.6.0
This is like a dream comes true.

Nicholas and Trabis did some really excellent work refactoring XOOPS, and now Richard is creating some fantastic additions and re-achitecting XOOPS Core, so it can take advantage of the latest developments in the Web eco-system, while still being XOOPS that we know and like so much!

All of this with a goal to simplify XOOPS and make it more flexible and more consistent, so once you learn something, you'll be able to apply it across all modules. There is a lot of exciting development in the pipeline, and what you see right now is only the "tip of the iceberg", as there will be more things coming from Richard and the Core team
Published: 2014/5/22 0:34 • Updated: 2014/5/22 0:34