Is there a "best" one? Does it offer as much flexibility as the Google API?
I am wary of using such wrapper, as I would need to take the time to evaluate each individually, so I am asking here if anyone has already done this.
Are there any benefits in a wrapper? The Google API seems clear enough.
And what guarantee is there that a wrapper will be updated as Google updates its API.
I would need something that can be used commercially. Should I even bother to look, or just stick with Goggle's API?
I woudl prefer to use POST, for larger datasets (and privacy).
Btw, please don't just google & post some links - I can do that myself. I'd like to hear from people who have actually used a wrapper. Thanks.
This makes an interesting read; it's the sort of thing I want to hear more of.
"What I was especially missing was some logic that automagically prepares the data for the chart. Eg. I'd expect the library to create sensible scaled axis labels on its own."
There is a good list of wrappers here
There is never a "best". Only a better for your case.
Various chart API exist, see http://free-wiz.blogspot.com/2008/07/best-free-chart-apis.html
gchartphp look nice and recently updated, http://code.google.com/p/gchartphp/
Related
I've got a process tracking system built with PHP/MySQL and I'd like to provide a graphical representation of the entire process -- a map, more or less. Each step, tasks, assigned users, and dependencies are stored in MySQL tables and so I have no problem outputting the data in any number of ways, but I'm not sure how I could go about displaying that in a graphical manner. Processes can be edited by privileged users so I can't just create a process map once and save it -- it needs to be dynamic.
I thought about simply outputting tables or divs but my problem is how to make it responsive to mobile browsers, so I figure a JPG/PNG would be simpler and more platform-independent. I've seen plenty of LAMP based charting tools but nothing that will create workflows. The closest I found was yUML (http://yuml.me/) which looks like it would be easy to implement based on a quick review of the syntax, but I'm not running Rails and don't know anything about how to do so.
I also looked into screenshot services (Grabzit, Thumbshots, Websnapr, etc.) but the problem there is that this is a secure site so those services wouldn't be able to gain access.
I'm not looking for anything flashy which is why I thought UML might be a good fit -- I just need to be able to dynamically create process maps based on MySQL data.
Thanks to anyone who can point me in the right direction!
I don't know of a flow chart API, but there are any number of general purpose chart API's.
Google charts has examples for org chart (among many other chart types).
There are many threads on this kind of thing on SO already:
JavaScript Chart Library
Graph visualization library in JavaScript
etc
I bet one of the best solutions is D3.js.
D3.js is a JavaScript library for producing dynamic, interactive data
visualizations in web browsers. It makes use of Scalable Vector
Graphics, HTML5, and Cascading Style Sheets standards.
—Wikipedia
You can find many examples here to fit what you are looking for, especially its very well documented API reference. Also has an incredible wiki (in many languages), greatest tutorials and some plugins.
I want to try creating a canvas were multiple users can type and edit for brainstorming etc. I am thinking of php as backend. What are the technique used for it? For example, lets say its
pure text. How do we update the text like in the google wave(b4) and in google doc?
Is it just using websocket(or js pooling) and updating the text file? or are there any
better logical way to solve this issue?
Well, its not as easy as it is said in Brad's answer but he is partially right. You will definitely need WebSockets today to make it happen. But logically, it is not that simple to create a collaborative environment. There are issues like broadcasting changes of every user to every other user viewing the same document. Then you will have to make sure that every user gets to see exactly the same thing no matter who changes what and when. This gets difficult when multiple users are working on the same document collaboratively. There can be conflicts while merging changes of one another.
As far as PHP is concerned, language is not really a problem. Its how you handle the above stated problem.
Google released its research and engineering details on Google Wave (I guess after abandoning the project). This link might be some help to you: http://www.waveprotocol.org/whitepapers/
Websockets are the way to go for this. However, they are difficult to implement in PHP, and not supported by many browsers as of yet. You can do long-polling of AJAX requests pretty easily with PHP, but it can be quite a waste of resources.
This might not be what you are looking for, but I'd suggest changing your server-side technology. You can use Node.js with Socket.IO to easily use Websockets (or seemlessly emulate them for browsers that don't support them). This will provide the fastest method for pushing data to your users.
I am building an API which will accept a variety of metrics from an iPhone application.
The App Programmer has requested that the API be able to handle types of metrics the API does not yet know about. I would like to use an enumeration to list the current types of Metrics, but new metrics would have to be added as they are pushed to the server.
Has anyone seen this done before? I've thought about using a DB instead of an enum, but that seems really messy.
Any thoughts?
Don't use an enumeration. Enumerations are primarily useful for when the entire range of values is known ahead of time; this is clearly not your case.
I have a friend who is need of a web page. He does interior construction, and would like to have a gallery of his work. I'll probably go for a php host, and was thinking about the best way to implement the image gallery for him. I came up with:
Use flickr to host the images. They can be tagged, added to sets, and I can use both the tag and set information to display "categories" for the gallery, as well as browsing. Flickr also has multi-upload tools so that a 20 photo job won't be a PITA to upload.
How to best get at the api? Is there a good PHP library for flickr integration? Should I roll my own?
API key - is this considered a commercial project? The web page is for his business, and he will be paying me to create the site...
Is flickr the wrong tool for the job? It seems like a pretty good solution in my head, but is there something I'm missing? I haven't used their APIs at all.
Thanks for any input!
It sounds like a difficult way to do things - have you considered Gallery (No points on creativity for the name!).
Unless you're really wanting to save on bandwidth, I think you'd get much better results from installing some pre-built gallery.
The perfect solution for this kind of thing is Picasa (from Google ofcourse)
You get:
1gb of free storage space on a Google Picasaweb account that already has a web interface with embeddable slideshows and stuff
A compete image browse and upoad program for the client side (namely Picasa) that's directly connected to the web albums. It's so user friendly that even your grandma can put her pictures online with that.
RSS feeds and an API from google.
there's a custom light-weight PHP api available
Need anyting else?
Note from Chris to others that may be looking for an answer: The API can be found here.
I recently implemented a Flickr-based photo gallery for a client. Flickr was perfect for them for a lot of reasons. Gallery is an impressive open-source project, but its feature set (and complexity of administration) was overkill for what this client needed.
Check out the Flickr API, especially the section on building URLs, which will be necessary when building your web pages. Don't bother coding a PHP wrapper for the API's. phpFlickr has already done it, and it's a smart implementation.
Here's a helper function I wrote that made life a lot easier for the various pages that need to access Flicker:
function newFlickr()
{
static $flickr = NULL;
if($flickr != NULL)
{
return $flickr;
}
$flickr = new phpFlickr(api-key, secret);
$flickr->setToken(token);
$flickr->enableCache("db", "mysql://acct:pass#localhost/flickrcache");
return $flickr;
}
The trick here is that all the crud you need to enter is stored in a central place in your code. Caching is key, so use it. And, if you need a phpFlickr object in multiple places for each request, you're only ctor'ing it once, which saves on init time.
Having Read SchizoDuckie's post, I had a look at the picasa api for php, and found it a bit daunting to start with, however I found this sample code absolutely brilliant for getting started with some basic integration.
Samples for other languages also seem to be available - can't vouch for their usefullness, but suspect they will be good too.
These might be of help. They are mootools scripts and run without any server-side coding necessary. Both integrate with Flickr.
http://imago.codeboje.de/
http://www.moopix.org/
If you have any interest in Ruby on Rails, there is a screencast here that shows how to create a site similar to what you are describing in RoR.
one of the most frequent requests I get is to create XY report for YZ App. These apps are normally built on PHP, so far I have manually created most of this reports, and while I enjoy the freedom of building it as I want, it usually becomes pretty tedious to calculate subtotals, averages, exporting to different formats etc.
What solutions are out there (free/OSS preferred) that help me get this repetitive tasks cranking?
edits:
I'm talking about reports/summaries from SQL data. Many times from DBs not designed for reporting use.
while I'm aware of "business-intelligence" we're not ready to implement a full scaled "intelligence" structure, looking more for a helper of sorts...
The problem you're facing is solved by so-called Business Intelligence software. This software tends to be bloated and expensive, but if you know your way around them you will be able to crank out such reports in no time at all.
I'm only familiar with one particular proprietary solution, which isn't too great either. But a quick search turns up the following page, which lists a number of free/open source alternatives:
http://en.wikipedia.org/wiki/Business_intelligence_tools
It depends on what kind of reports you're talking about. For example... site stats... you could install google analytics and the client could export whatever format they wanted.
A little Google search gave me the following OSS:
RLib
http://rlib.sicompos.com/
PM Report
http://www.hotscripts.com/Detailed/48187.html
I don't have any information on them, sorry.