Cakephp and facebook - facebook

I have a site built with cakephp (1.3), where users can manage lists of items.
I now want to develop a facebook app that will work with the data of my web-based site.
The facebok-app is to replicate many of the web-site's functionality (basic CRUD and more), so I would like to reuse as much code as I can from my current cake- just use a different layout, or maybe change the views.
My question is: from a software design perspective, what's the best way to go about that? Some ideas I had in mind are:
Add branching code in my actions to behave differently if it's running as facebook iframe
externalize lots of action-logic into libs, and create different actions for the facebook app which will reuse those libs, as well as views
Would love if you can come up with other ideas.

Rather than munging your core functions, could you not develop a generic 'hook' in system and then develop your facebook functionality in a separate API to take advantage of the hooks, this would be more scalable long term and keep both apps logic separate.

Related

Seeking CMS option for heavily customized dashboard site?

I'm currently developing a dashboard system full of web apps that utilize jQuery, AJAX, and PHP heavily. I frequently update this system with new apps that are highly customized and designed to be customizable. I prefer coding things from scratch because I like the freedom of writing clean code that isn't dependent on foreign plug-ins (the authors of which I oftentimes don't know personally) or code that is tangled up in pre-built architectures (i.e. Wordpress AJAX backend calls).
I have a fully functioning site that works. I'm achieving the analytics and functionality I've set out to develop so far. However, it's been brought to my attention to consider utilizing a CMS like Drupal or Joomla or Wordpress as the site gets larger and supports more users, so that it's as future proof as possible. I've tried Wordpress in the past. I'm not a fan. It feels too restricting. I'm looking for a CMS that support a Dashboard system where I'm free to code without relying on plug-ins or backend libraries . Ideally, something like Wordpress but without plug-ins and a frustrating backend.
Umbraco is good, it's fully customisable and open-source. I've used it multiple times. It starts off bare-bones and you have to build most things from the ground up, however it does come with a fairly sizable online community.
As it's written in Angular, you can change the CMS HTML pages on the fly, and I find it a little more forgiving than some CMS' such as Orchard.

Using GWT Places and Activities or not in very large project

Imagine a very big gwt project of application. This is just a some form of scientific environment on the web. So for each user it stores the state of app and there is nothing related to browser history or bookmarks. History is something that can't even be applied to application itself (like CAD systems or whatever, having no intuitive "back button"). We are considering whether to use or not modern Activities And Places along with MVP. What are the pro and cons of Activities and Places if history management doesn't have sense? Could this framework give some advantages in code maintaining and code's modularity comparing to traditional MVP+DI without any Places and Activities? Taking in account that app is going to provide and API for some form of plugins
Given that Places are only about navigation within the app (not necessarily tied to browser history, but still very similar), and Activities build on Places a a way to modularize and decouple building blocks of your UI, with a lifecycle tied to the Places, then I don't see any benefit in using them in your case.
N.B.: Activities and Places have absolutely nothing to do with MVP, it's all about navigation, as the official documentation says:
GWT 2.1 introduced a built-in framework for browser history management. The Activities and Places framework allows you to create bookmarkable URLs within your application, thus allowing the browser's back button and bookmarks to work as users expect. It builds on GWT's history mechanism and may be used in conjunction with MVP development, though not required.
Source:
https://developers.google.com/web-toolkit/doc/latest/DevGuideMvpActivitiesAndPlaces

Evaluate Asp.Net Enterprise CMS (Sitefinity vs N2CMS)

We are looking for a Asp.net CMS to integrate in our existing Enterprise-Webapplication. Some requirements:
Full integration in Visual Studio 2010 and our existing Application (so no Umbraco)
Common ASP.NET Web Forms Developing practices (Global.asax, Masterpages, User-/Custom-Controls)
Security (FormsAuthentication, custom Membership-/RoleProvider)
Very flexible and extendable (good API)
Lightweights CMS with good performance (thousands of simultaneous requests)
Easy content editing
At the moment we are looking at Sitefinity and N2CMS.
I really like the N2CMS approach (Integrate CMS engine in application) but is it mature enough for "real" usage scenarios? Is there another alternative to N2CMS?
Yes, N2 is mature. Company I work for is using it for more than three years now for various projects, and it is still our platform of choice. Best thing about it is that it is not CM System in a classic manner but rather CM Framework with several layers, meaning you have many things implemented, but they are not part of the core. As a result, you can change almost anything that is not usually changeable in other CMSes.
Also, whole architecture is organized in such a way that you can easily override almost any system behavior with your own implementation. Example? Imagine you reached 100s of news entries under News folder in site tree, and you decide to completely hide them from site tree, instead implementing plugin for manipulating them. Solution? Attribute-decorated class with 10 lines of code for hiding items in a tree based on your custom rule expressed in C# code.
I think N2 is pretty polished product and that you can go for it without too much worries.
We too are using N2. We've used it for a campaign site and now we are building our companies corporate website and the 20-or-so country specific subsidiary sites.
It is very fast to develop on (if you are a .net programmer it is a treat, an html-guy might find it difficult). Extremely flexible and extensible. And so far it seems to be very mature and stable. It has less features in terms of workflow-management than e.g. sitecore, but then again most customers put a lot of emphasis on those things, when they evaluate options, but end up not using them. So I don't think that is a problem.
The problem we are having is that it doesn't properly support preview, so website editors cannot preview their changes before publishing them. It is supposed to be done at some point, but there is no word on when.
Full disclosure, I work for Telerik and I'm the Sitefinity Evangelist.
Full integration in Visual Studio 2010 and our existing Application (so no Umbraco)
This is a difficult item to claim with a blanket statement.
I don't know much about your existing application. Our customers have accomplished a lot of Sitefinity integrations with various applications. This could be done through web services, custom controls or simply accounting for external URL's in Sitefinity's sitemap. Feel free to post to our Sitefinity forums for recommendations for your specific scenario.
Regarding Visual Studio integration, Sitefinity includes Telerik RadControls and OpenAccess ORM. We also try to align ourselves closely with traditional ASP.NET technologies.
Common ASP.NET Web Forms Developing practices
Sitefinity Templates = ASP.NET Master Pages
Editable CMS regions = ContentPlaceHolders
Sitefinity Widgets = ASP.NET Controls
Sitefinity Themes = ASP.NET Themes
We make the marketing claim "if you know ASP.NET, then you know Sitefinity". However, realistically all products comes with some learning curve. As much as possible we try to align ourselves with the experience ASP.NET developers already have.
Security (FormsAuthentication, custom Membership-/RoleProvider)
Sitefinity's authentication is based on traditional ASP.NET Membership & Role providers. We've included a couple (Sitefinity & Active Directory) but you can extend with your own.
Very flexible and extendable (good API)
Our API is LINQ enabled and we also have a Fluent API. We also have a full RESTful web service API.
Lightweight CMS with good performance (thousands of simultaneous requests)
Our own Telerik web sites run on Sitefinity, and many of our customers support web sites that handle a large volume of traffic.
However, I'm not sure what constitutes "lightweight". Many CMS's have little overhead, but also do very little. We've tried to deliver a lot of features and end-user friendliness with Sitefinity. This comes at the cost of some overhead.
Managing the balance between a CMS that "helps you" and "gets out of your way" is a constant challenge. The best I can promise is that we're aware of the challenge and we're doing our best to deliver effective results.
Easy content editing
Judge for yourself. Even better, download the product and let your content editors experiment. We welcome the comparison. Over & over again, this becomes our differentiator.
--
Hopefully this post doesn't sound like a lot of evangelist BS. I've tried to be accurate with my answers. Best of luck with your project.

Why use WebMatrix Facebook helpers verus just using facebook generator?

I am wondering why would you use the html helper for something like the like button
then using the generator from facebook
Why use the Twitter helper, or the Gravatar helper for that matter? Or any helper?
WebMatrix is targeted at an audience of learners. This group is barely assumed to know HTML (although I realise that description covers a lot of experienced Web Forms developers too), so providing a reasonably consistent set of APIs to help make use of social networking widgets makes sense to me. It means that the learner can have Twitter feeds and Like buttons on their first site in a few seconds, rather than having to trawl all over the Internet to find out how these things are done, and then potentially getting confused by the developer material offered by these sites. If they achieve a degree of success early on, they will more likely persist with the framework.

Events Website CMS/Framework Suggestions

I'm planning to build a website that has the following in the first Phase
Events List
Events Management by admin
Register for events (buy tickets)
News List
Manage News
Support Multi-Language
In the next phase i would like the site to be a social networking site (considering elgg)
I want the website to be light and fast. I've tried Joomla/Drupal. They seem to be slow.
Any recommendations for a framework/CMS?
I've been using Textpattern for a CMS based website I am developing, and so far it seems like it can handle all of the CMS work I push at it while staying out of the way as far as code. It has a bit of a learning curve like most CMS programs, but is pretty easy to pick up. You'll still have to build out the functionality for events (look into the plugin ZemEvents), as Textpattern starts out with just the base install and you add on to it as needed. You may need to handle E-commerce differently though, not sure if there are any plugins for Textpattern that could handle that.
I, personally second LocalPCGuy’s recommendation since Textpattern is, in my eyes, the most underestimated CMS in the market. I especially love it for its simple XML-like templating tags.
Talking about easy templating you might also want to check out the Python based Django framework. This is, by far, the fastest framework/cms I ever came across.