Client's panel for my website - php

As a freelance developer I deal with clients mostly by contacting them via email/im.
That isn't working bad, but I'm thinking of a more professional approach with client communication panel for my website.
Client basically will be given login/password and access it to see previews and comment them.
I'm fine with writing the application myself, but since so many developers have similar things on their websites, maybe there already is some solution that I could just reuse?
//edit
well, I should probably explain myself a bit clearer.
I'm fine with showing websites as they're being properly built/coded.
It's just communication and design stage that I'd like to move from mail/im to some simple web application.
Theoretically project management tools would do, but they overly complicated and I need just simple functionality to comment (in threads ideally) and attach images. Probably will want more later, but that's all I can think of now.

It might already be 'overly complicated' but you could take a look at Request Tracker: http://bestpractical.com/rt/

"Accessing it to see previews" would mean vastly different things to different people - you probably just want to do something like having a password-protected preview area - if you're making websites it could live at http://preview.example.com for example.
There are various sorts of systems that might to the second part though, a Wiki might work, or FogBugz, or Trac.

I found collabtive being a brilliant all-in-one software.
Got all I really needed.

Related

Technique behing creating a google wave like asynchronous web app

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.

REST PHP API : Restler OR APIFY

What should be the best choice among REST API, Restler OR Apify ? Which is more secure and more scalable ?
I have built quite a large API based on Restler.
The developer is quite responsive, even though the community might be smaller, and imo it was "simpler to get started"... I actually looked at apify and was kind of turned off by the fact that it was "too flexible" in that it feels (to me personally) like it is trying to tick too many boxes and it made it too complex for my taste... from what I gather you can even serve an entire web app using apify, with a complete MVC structure, etc... it wasnt so much what I was looking for... so I went to restler...
In restler you can convert code or start coding quickly and very easily expose that as an API. A new version is supposedly in the works to be released sometime and would be very much improved in many respects, nonetheless, the way restler is quite "bare" today I feel has been to the best...
I wouldnt want to be restricted in the way I do things, such as talk to a DB, or paginate, etc.... these things, in my case, are tied to my existing DB lib, and pagination and caching mechanisms which are inherited from my legacy non-api app.
In summary, I think apify is perhaps "more complete" in some respects, but it wasnt what I was looking for, quite the contrary. I also feel that I can today very easily port all or almost all of my code to apify, as my code itself is all contained in classes and functions. I have just now looked again at apify and I still find it to be "bloated"? (maybe not performance wise, but to me as a dev it feels a bit bloated, kinda like the kitchen sink - does everything...)
AFAIK restler is also open source, so both are kinda on the same ground there. IIRC restler is based upon another smaller framework. I like that restler is quite small and simple and "gets the job done"... I dont want a PHP Framework a la codeigniter/symphony, etc, I just wanted something to help expose functionality as an API in a secure form, with different permissions, authentication, eaccess levels, etc.
I'm always open to other suggestions!
EDIT: this site may be useful in looking at some other options... http://blog.programmableweb.com/2011/09/23/short-list-of-restful-api-frameworks-for-php/ FRAPI was a close second choice but i thought it was a bit too complicated to get everything i wanted the way i wanted... I suggest you experiment with several for a few hrs each and see where you feel more at home.
I would favor apify for its larger developer and contributor base. Open Source in general is secure, and the actual security of your application will be based on your implementation. The same applies in scalability. I think all mentioned solutions can be scaled equally if the implementation on the server side is correct.

Advice on using Wordpress or a PHP Framework?

I am currently building a blog type website for myself. I have used wordpress in the past and really enjoy it, but when it comes to building more than just a blog I usually get bogged down in writing hacks for it.
The site I'm building is going to pretty much be a blog, but with a 'question and answer' side to it (NOT A FORUM - purely Q&A). Therefore, bbPress and buddyPress doesn't quite hit the mark. I have used CI for awhile now, but when it comes to security I fall short. CI does not have an auth library, however, Kohana does.
My question is: I would like to have full control over my site, but I'm worried about my lack of knowledge in the security department. Would I be better off using Wordpress as a base, or would it be beneficial for me in the long run to use something like Kohana?
Your advice is greatly appreciated.
First of all, I would like to say that you can't compare Wordpress and Kohana. One is a content management system and the other is a programming framework.
As for your question: Since you've stated you're not that experienced with security I suggest you stick with Wordpress; It's maintained by developers who know what they're doing.
If you want to go ahead and create something yourself then make sure you keep up-to date with all the current security issues and how to resolve them. Here are a few resources you might be interested in: PHPSEC, OWASP and PHP Security. You should probably read those anyway (as you're writing Wordpress plugins).
Good luck with your choice either way.
Hmm, if you can write the "hacks" for wordpress, than modify it to your needs.
If you think you can write the security better, than use Zend Framework since it has a Auth lib.
http://framework.zend.com/
I dont realy know about kohana
Hmmm... for the Questions and Answers, have a look at Qhub. I'm aboutto implement it for a client of mine who's an adoption counselor. She gets tons of questions via emails and it's always the same ones over and over. I saw it on Design Reviver a while back and I thought it was a great idea. Plus I got in contact with one of the co-founders of Qhub and they told me that they are implementing some more privacy and privileges controls which is really good news since I only want my client to be able to answer the questions.
I would use WP with Qhub to be honest. If it's a blog-type site and you're already comfortable with WP, why not stick with it?
Hope this helps!
Check out the TDO Mini Forms plugin. I think it may serve your needs perfectly!

How do you maintain a community change log?

I'm looking for a change log / features request program my client can use to see where I am at with the development. Trac looks sexy (http://trac.edgewall.org/) but too complex for what I need.
Very simply, the client needs to be able to order tasks and for us to be able to sort them and keep a record of everything that is going on.
We could update a static file or something, but that seems a bit err time consuming and not systematic enough.
What do you use?
Basecamp is a pretty slick project management solution: http://basecamphq.com
I've used this or trac depending on the project. My 2 cents :)
I'd use Trac even for a small project since it allows you to disable most of the advanced features if you don't need them.
First, whole pages aren't shown at all if you remove a user's permission to view them. So if you e.g. don't like the "Roadmap" page, just get rid of it. There is a whole list of possible permissions in the trac help.
Second, Trac even allows removing ticket fields like priorities, resolutions, severities by just deleting all possible options for them in the administration panel.
Using these tricks, you can simplify your Trac a lot but still keep the usefull stuff.
As a bug-tracker, I am using Mantis :
it is not too hard to use (our clients are using it OK, even if they are not programmers)
it does the job ; tracking bugs, at least, with what functionnalities you could expect
it is written in PHP, which is great if you are yourself working with PHP : it means you already have servers that can host it, and that you will know how to solve problems if you encounter some (that's one of my problems with Trac : I don't know anything about Python, to, when there's a problem, I'l literally stuck... )
also, if you take a look at their blog, you will notice there have been some new versions this years, which means it's still under development (which is better than using an old tool noone cares about anymore ^^ )
There's a demo available, btw.

ColdFusion/PHP Compatibility

Hey I have a question regarding the compatibility of ColdFusion and PHP.
We built a community website which is based on ColdFusion. Is it altogether possible to add features such as blogs, and other community features to our website in PHP?
I mean to combine both PHP and ColdFusion together.
Thanks very much for the help!
I think it can be done, if you're using ColdFusion 8. I know that Sean Corfield has a project on RIAForge doing this sort of thing, and there are a string of posts on his blog, starting with this one:
http://corfield.org/blog/index.cfm/do/blog.entry/entry/ColdFusion_8_running_PHP
All of this being said, it will be easier to integrate products from the same core language. There are hundreds of open source options for different things in ColdFusion. RIAForge.org is a good place to start.
Yes, it's possible. You would have to probably integrate the PHP application's session management into your Coldfusion application's session management.
I recently did that with a PHP shopping cart into Coldfusion because I didn't have the time or resources available to get the same results in Coldfusion -- often the great and polished pieces in CF can cost some money, and with PHP its a gamble or a time pit to get it to dance how you want.
Second, there might already be blogs, forums, etc that suit your needs made in Coldfusion. Check them out. You might be able to stay more towards one platform. Chances are you might want a PHP solution because it has addons or something else that you don't want to program.
I like your best-of-breed approach, Coldfusion overall has a lot more commercial development than open source when it comes to large packages that are incredibly featured.
Best of luck, be sure to share what you end up doing.
Your question wasn't really focused enough to give a single direct correct answer.
We built a community website which is
based on ColdFusion. Is it altogether
possible to add features such as
blogs, and other community features to
our website in PHP?
I mean to combine both PHP and
ColdFusion together.
When you say you want to "combine" them, what exactly do you mean? They can both co-exist on a web server and both have access to the same database; so if you want both PHP and ColdFusion applications to have access to the same data, that is not a problem at all. There would be some concerns about locking and race conditions, but from an "is this possible?" standpoint, the answer is undoubtedly YES.
Sharing session, client, or other special scopes/variables from CF to PHP should be possible with some clever programming, but would be tricky. It would depend entirely on your needs and your implementation.
If you're looking for applications to add to your community, I would recommend that you try to find something in CFML that suits your needs before you go the route of attempting to mix CFML and PHP. There are tons of free open source applications including blogs and wikis written in CFML available on RIAForge, and other websites. Canvas Wiki, and Codex Wiki are solutions that focus strictly on Wiki functionality, and there are others that include Wiki functionality as part of a larger package. Searching for "blog" in the ColdFusion category on RIAForge shows no less than 6 blogging applications like BlogCFC and others, and that doesn't even include my personal favorite, Mango Blog.
I think Corfield's way is not (very) suitable for standalone apps like blogs and forums. But it can help with sharing sessions.
On the other hand, these types of software are not so good in CF world.
I'd better proposed to play with webserver settings. Can't say much about IIS, but in Apache you are typically using different handlers for .cfm and .php files. Possible problem here is index file, that can be index.cfm or index.php. In this case .htaccess rules should help.
So, tuning webserver allows to use PHP apps in subdirectories of CF application.
Additional possibility is using subdomains, this even easier to set up, that can fit your needs. Say, blog.website.com and forum.website.com
Hope this helps.
To question owner: sorry for such odd reply, I just can't comment here yet. And sorry for small offtop too.
To Ray Camden: yes I am saying that there're not so good opensource forums/blogs for CF as for PHP. I am happy to know about Galleon and BlogCFC. But if talking about features -- they in 2006 of PHP analogues, especially Galleon. BlogCFC grows and getting better fast.
Anyway, I have a suspicion that many of BlogCFC users using it because it is written in CFML. And me too, partially.
Problem is not these two applications, they can fit someone's needs. Problem is that there're no alternatives. Or maybe I am wrong here and there's lots of another cool apps of these types?
And yes. Maybe there're another amazing proprietary blogs/forums, but we're not talkin about them now right?

Categories