Thomaschaaf
Thomaschaaf

Reputation: 18196

Widgets on a webapplication

I am writing a webapplication which will have widgets like iGoogle does (but with different information ;)). Since there will be different colomns I would love to hear your ideas on how to call the modules in the code. I want to define in the database what widgets are enabled and in what column they are and in what order they should appear. I am working with PHP and the Zend Framework. Is there any good practice to add the widgets?

I was thinking of doing it like this: You save the widgets name and there would be a folder with widgets in them and with require_once I would include the file and execute a default command like:

echo ExampleWidgetClass::run();

Upvotes: 2

Views: 365

Answers (3)

Scott Wilson
Scott Wilson

Reputation: 1660

Depending on what you are trying to achieve for your users, you may also want to consider external widget specifications like W3C Widgets (Apache Wookie) or OpenSocial Gadgets (Apache Shindig)

Upvotes: 2

pawstrong
pawstrong

Reputation: 954

Your approach sounds reasonable: insist on a well-defined interface for each widget, and then invoke that method (or those methods) for each registered widget. Some things to keep in mind:

  • abstraction: do the widgets know where they are on the page, or how big their window is?
  • security: are the widgets written by 3rd parties? do you trust them? does their output need to be escaped or sanitized?
  • backend: some widgets may need to make backend calls to get data. consider how they request backend calls be made in a batch before the page is rendered. dispatching multiple backend requests (such as sql queries) simultaneously can yield better page performance than querying sequentially.

Upvotes: 1

SchizoDuckie
SchizoDuckie

Reputation: 9401

What kind of confirmation are you looking for from us? If it's your system, your widgets, then just run them the way you think is best ?

What you describe sounds a lot like a solid setup. Just go for it I'd say and not ask StackOverflow? :-P

Upvotes: 0

Related Questions