Issue #2215761 by scotself, jcisio: Reset button on views exposed filters.
[project/scald.git] / README.txt
1 SCALD: MEDIA MANAGEMENT MADE EASY
2 ---------------------------------
3
4 Homepage: http://drupal.org/project/scald
5 Documentation: http://drupal.org/node/1652740
6
7 Contents of this file:
8
9  * Introduction
10  * Terminology
11  * Installation
12
13
14 INTRODUCTION
15 ------------
16
17 "SCALD is Content, Attribution, Licensing, & Distribution". The problem that
18 sparked the development of Scald is obvious all over the web. When I (the
19 end-user) want to post something online I first must figure out what *type* of
20 thing I'm posting. If I am writing something for my personal blog about my
21 vacation last weekend, I'll open up Blogger and start writing. But then I
22 realize that I have a video which I want to include in my post. So I open up
23 YouTube, check to see if the video format that I have my video in is compatible
24 with YouTube, upload my video, copy the embed code, paste it into Blogger and
25 then test my post to see if the video actually embedded properly. THEN, I can
26 get back to writing my post -- only to realize that the photos I took on the
27 trip would be good to include too, so I open up Flickr...
28
29 As the narrative above highlights, the web currently has "silos" of media which
30 are exposed to the end-user. I shouldn't have to care that YouTube is where
31 videos live. Or which codecs YouTube supports. I should be able to just upload
32 my video directly in Blogger, pay no attention to where its being stored and
33 put it in my post. Similarly, if the video is already online, I shouldn't have
34 to figure out if the embed code from Vimeo is different than the one on
35 YouTube. I should just be able to select my video and put it in my blog post --
36 ideally from right within Blogger. And this should apply to audio, images, and
37 video -- all regardless of the source (my hard drive or someone else's
38 website).
39
40 To make things worse, we have not even begun to consider the licensing
41 implications, we're just discussing a format usability problem. The average
42 user has no concept of the intracacies of "fair use" or "attribution
43 share-alike". Despite all the efforts by the Creative Commons folks, these are
44 concepts which are very difficult for those who don't deal with such issues
45 daily to understand. What I want to know is "how do I get that video in my blog
46 post?". There should be a mechanism which distills the licensing issues down to
47 "can I use it or not?" Even better, the content which I am not allowed to use
48 in that way shouldn't even be exposed in the interface. The related problem of
49 "how do I let other people use my stuff without giving it away" is something
50 that casual content creators may or may not consider.
51
52
53 TERMINOLOGY
54 -----------
55
56 So again, SCALD is Content, Attribution, Licensing, & Distribution. The core
57 concepts of Scald are Scald Atoms, the Scald Unified Type system, Display
58 Contexts, Transcoders and Players.
59
60 WTH? Too many new concepts! In fact, Scald started in 2008, at the same time as
61 Drupal 6. There was very little concept about entities, view modes. Therefore,
62 Scald used its own terminology for concepts that came in Drupal 7.
63
64 - Scald Atom (or atomic asset): is Entity in Scald terminology.
65
66 - Scald Unified Type (or atom type): is Entity Bundle. Each atom type thus can
67   have different attached fields, different view modes and different display
68   settings. Why "Unified Type"? Because one type (e.g. video) can have many
69   providers (e.g. local files, YouTube, Dailymotion etc.) and are all treated the
70   same way (e.g. share the same player).
71
72 - Scald Display Context: is similar to Entity View mode. What make it
73   different is while view modes are about field display settings, in Scald the
74   atom itself (an "extra fields") could also have display settings. In each
75   context (read: view mode), an atom can have a different transcoder (read: image
76   style) and a different player (read: display plugin). It is similar to the
77   possibility of having different displays of node title in different view modes
78   - but an atom is much more complex than a node title.
79
80 - Scald Action: is also designed to be extensible. Common actions defined in
81   Scald core are: fetch (read: load), view, edit, delete. Modules can defined
82   more actions. Each atom can be configured to open to certain actions. Scald
83   supports a permission system per action so that access control works out of the
84   box with great level of granularity.
85
86 - Transcoder: is similar to image style, but designed to work with all kinds of
87   content. For example, a video or an audio transcoded to different bit rates
88   for different display contexts.
89
90 - Player: is used to controlled how the atom is displayed. From that point of
91   view, it is similar to a theme. However, players are pluggable and look more
92   like a display plugin.
93
94 - Scald Atom Shorthand (SAS): is a format representating an atom in a context
95   with options and does not use HTML markup. It could be abusively called
96   "token". SAS is not required, though it helps to avoid using dangerous HTML
97   markup in a text field.
98
99
100 INSTALLATION
101 ------------
102
103 Scald depends on Views, CTools and has integration for Edit, CKEditor or
104 WYSIWYG, Token.
105
106 Other than type/context/action/transcoder/player providers, Scald has 3 types
107 of modules:
108
109 - Drag and Drop integration: the DnD module features drag and drop interface
110   for Scald atoms. DnD support many atom libraries, however if you don't want
111   to use your own, the scald_dnd_library module (requires Views) is available.
112
113 - Field integration: MEE (Multimedia Editorial Element) enhances text fields to
114   support SAS conversion and atom usage tracking. The Atom Reference module
115   provides an entity reference field (which is compatible with Entity Reference
116   module) and a d'n'd widget. The Entity Reference module could be used as a
117   drop-in replacement for Atom Reference if you don't need the d'n'd widget.
118
119 - Atom provider: lots of modules. They are in general independent and can be
120   enabled when necessary.
121
122 Because Scald is modular, you need at least one module in each category to work:
123
124 - dnd: the bridge between a library and a field, it is responsible for the drag
125   and drop.
126
127 - scald_dnd_library: the default library in Scald.
128
129 - a field that supports dnd: either Atom Reference field, or a text field with
130   "Drag and Drop" option enabled.
131
132 - An atom provider module.
133
134 More detail on how to install/configure Scald is available at
135 http://drupal.org/node/1775718.
136