38
data providers present by Nguyen Huu Phuoc, founder of NextCMS [email protected]

Why NextCMS: Data Providers

Embed Size (px)

Citation preview

data providers

present by Nguyen Huu Phuoc, founder of NextCMS [email protected]

NextCMS is a content management, built on top of zend framework, dojo toolkit, and jquery

it is free and open source software

this slide tell you one of many reasons why you should choose NextCMS instead of other one

a few scenarios when you manage your website: insert link of a particular article to the article’s content

upload a file and insert its link to the article’s content

insert link of given category when build a menu

search for photos that have been uploaded and use it as

article's cover, album’s cover, or video's poster

… and many other cases

how it is done in other CMS (insert link of an article to other article, for example) do it manually (bad) 1. search for the article in the front-end 2. copy its link 3. insert the link to other article’s content

open a popup (better but not good enough) 1. open a popup window 2. search for the article 3. click the article to insert its link

we need a better way to:

search for data and reuse it

data can be taken across modules

menu

providers main layout

1 2

3

1. load the main layout of particular module dynamically (@developers: via ajax) the providers are loaded only one time

2. open the providers from the main menu

3. drag data from the providers and drop to the main layout

1. search 2. drag 3. drop

example: insert link of an attachment to the article’s content

example: upload new video

where to upload video file?

where to upload video’s poster?

Where are my upload buttons?

example: upload new video

where to upload video file? let’s use the uploader

example: upload new video

where to upload video’s poster? let’s use the image/photo provider

@end-users

we change user experiences

we teach you a new, only one, and best way to reuse data

whenever you want to reuse data, think about data provider

the interface is cleaner and simpler (without uploading buttons, popup windows, etc.)

@developers

you do NOT have to duplicate your code for common tasks (such as uploading, inserting common data, etc.)

you can create your own providers (more details in the extensibility section)

access the providers:

from the modules menu

from the toolbox tab

provide various kind of data:

basic

file, image, link, video

module specified

attachment, banner, photo, tag, user, video, widget

provided by 3rd-parties

example of link provider: insert link of particular article to the article’s content

example of link provider: set the link of particular category to a menu item

example of file provider: browse and insert uploaded file to the article’s content

example of uploader: upload and insert a file to the article’s content

example of image provider: upload new image banner

please do NOT ask me where your upload buttons are

example of image provider: upload an image and set it as album’s cover

example of image provider: upload an image and set it as article’s cover

example of photo provider: use a photo to set video's poster

example of tag provider: tag an article

example of user provider: create a message filter that will move all messages from same user to a folder

example of user provider: define the receivers when you send new message

example of widget provider: insert a poll at the bottom of article’s content

example of widget provider: insert a widget to a page

providers can be removed/reattached at anytime

auto set article cover’s title after dropping an image

again: you will NOT see any upload buttons in the additional panel

auto set video’s title after dropping an uploaded video

again: you will NOT see any upload buttons in the additional panel

auto set menu item’s title after dropping a link

auto set banner’s title after dropping a banner file

again: you will NOT see any upload buttons in the additional panel

uploader:

auto organize uploaded files based on current module

@developers: you can develop your own providers

a provider actually is an extension

support MVC

support internationalization (i18n)

english

vietnamese

it is possible to execute a javascript callback after dragging and dropping data

dojo.subscribe("/app/global/dnd/ onDropLink", function(data) { ... });

dojo.publish("/app/global/dnd/ onDropLink", [{ url: linkUrl, title: linkTitle, source: sourceNode, target: targetNode }]);

example: auto set the title of menu item after dropping a link to the URL box

we listen to you!

on social networks

twitter.com/thenextcms

facebook.com/nextcms

youtube.com/thenextcms

slideshare.net/thenextcms

github.com/thenextcms

email

[email protected]

nextcms.org nextcms.tv

© 2012 Nguyen Huu Phuoc

[email protected]