49. The most commonly used namespace, wpart, is always expanded by the framework . When the parser meets <wpart:lookup … /> for example, it will call the function wpart_lookup:handle_call/1, with the whole xmerl parsed tag as an argument.
72. <wtpl:parent path=Path /> - specifies which template will be filled with the content provided by the wtpl:content content
73. <wtpl:content name=Name/> - content that will fill the wtpl:include tag which has the same name as the tag 'name' attribute, in the file specified by wtpl:parent
93. Allows separation of the target function from different types of functions, non-domain specific wrappers.
94. e.g.: before making a post to a blog you should be logged in and your message should be checked for “bad words” maybe; after posting the message the cache should be invalidated and your post-count could be modified.
98. Annotations Annotation Module Example ?AFTER. check (blog_post, _Mod, _Fun, _Args) -> case is_bad(wpart:fget(“post:msg”)) of true-> {skip, {redirect, “http://correctiveschool.org”}}; _-> {proceed, _Args} end.
99.
100. Erlang-Web comes with e_components for authentication, mnesia backup and for generating rss feeds
101. To search for an e_component we can run ./bin/e_component search component_name, command that will list all available components matching the name and their description
102. To install an e_component we run ./bin/e_component install component_name, the e_component is now copied in the lib folder of our application. ./bin/compile is now required, in order to compile the component's source files.
103.
104.
105. Erlang-Web comes with e_components for authentication, mnesia backup and for generating rss feeds
106. To search for an e_component we can run ./bin/e_component search component_name, command that will list all available components matching the name and their description
107. To install an e_component we run ./bin/e_component install component_name, the e_component is now copied in the lib folder of our application. ./bin/compile is now required, in order to compile the component's source files.