Essential capabilities of content management are the abilities to view the 'change history' of a content item, to compare various versions with one another, and optionally, to revert to a previous version of a content item.
In this article, Darci Hanning discusses how to use versioning in Plone to examine the history of changes made to a content item, to preview and compare versions, and to revert to a previous version of a content item.Read Safely Manage Different Versions of Content with Plone in full
The accordion widget is a robust and highly configurable widget that allows you to save space on your web pages by only displaying a certain section of related content at any one time. This is like a tabbed interface but positioned vertically instead of horizontally. It's easy for your visitors to use and it's easy for us to implement. It has a range of configurable properties that can be used to customize its appearance and behaviour. It also has a series of methods that allow you to control it programmatically.
In the previous part of this article, we looked at the structure of an accordion widget and its configurable properties. In this second part by Dan Wellman, we will cover the following topics:
- Built-in types of animation
- Custom accordion events
In order to simplify parallelism complexities and to avoid many concurrency pains, we must use the object-oriented capabilities offered by the C# programming language and design patterns. In this article, we will drastically simplify the creation of new parallelized code avoiding some advanced concurrent programming difficulties. Reading this article by Gastón C. Hillar and following the exercises we shall :
- Learn to combine single-threaded code with multithreaded code
- Use of object-oriented design patterns to simplify the creation of parallelized code
- Solve various problems to specialize in segmentation algorithms and achieve thread affinity
- Encapsulate multithreaded algorithms to create high-performance and safer independent pieces
- Learn to avoid problems with design instead of solving them using very difficult-to-apply algorithms
Just like building a house, you need to have a strong foundation and framework to support a site that is built to last, without needing any major rebuilding in the future. Proper planning from the beginning will go a long way towards having a site that is easy to maintain. In this article, Tom Conklin will show us how to structure and organize your content so that your site is poised to grow.Read Structure the Content on your Plone Site in full
Every asset in the constraint declaration is restricted to a certain role, and every role ties back to a user or an entity. In this article by Ramanujam Rao, we will discuss the ways in which authentication and authorization is facilitated in JBoss portal. We will also discuss other aspects related to authentication and user management such as single sign-on.Read User Security and Access Control in JBoss portals in full
In this three-part article series by William Rice, we will learn how to add Interactive course material in Moodle. Interactive course activities enable students to interact with the instructor, the learning system, or each other. Note that Moodle doesn't categorize activities into 'Interactive' and 'Static'. In Moodle, all activities are added from the Add an activity... menu after turning the editing on. We use the terms 'Interactive' and 'Static' as a convenient way to categorize the activities that Moodle offers.Read Adding Interactive Course Material in Moodle 1.9: Part 1 in full
The accordion widget is another UI widget made up of a series of containers for your content, all of which are closed except for one. Therefore, most of its content is initially hidden from view. Each container has a heading element associated with it, which is used to open the container and display the content. When you click on a heading, its content is displayed. When you click on another heading, the currently visible content is hidden while the new content is shown.
It should be noted that the height of the accordion's container element will automatically be set so that there is room to show the tallest content panel in addition to the headers. This will vary, of course, depending on the width that you set on the widget's container.
In this article by Dan Wellman, we are going to cover the following topics:
- The structure of an accordion widget
- A default implementation of an accordion
- Adding custom styling
- The configurable properties
- Built-in methods for working with the accordion
JBoss portal blends the dynamism and rich functionality offered by AJAX with its strong portal architecture to provide users with choices for developing highly-functional portal applications. The latest portlet specification, JSR-286, provides an easy and intuitive approach to implementing asynchronous calls that was not possible in JSR-168. In the first part of this article, we will discuss the limitations of the current specification and walk through an example portlet to understand how AJAX can enhance portlets. The next part will talk about AJAX support for markup.Read JBoss Portals and AJAX - Part 1 in full
In the previous part of this article, we created an example portlet using AJAX and saw how simple and efficient its creation was. In this second part by Ramanujam Rao, we will talk about how JBoss portal supports markup through tags on layouts and renderers of the pages.Read JBoss Portals and AJAX - Part 2 in full
In this article by Nir Simionovich, we will develop our first ever AGI script using PHP scripting language. This article deals with the most basic elements of AGI scripting and the information contained within. So, take time to familiarize yourself with this article, especially if you intend to use a language different from PHP.Read Asterisk Gateway Interface Scripting with PHP in full
This article by Nir Simionovich is all about AGI (Asterisk Gateway Interface)—its working, its three types, and the different frameworks.
Asterisk AGI enables an IVR developer to develop IVR structures that are sometimes, bordering on the absurd, as applications tend to become more and more complex by using AGI. However, there are some scenarios where common dialplan practices are no longer applicable, and the use of an external logic is a must. Enter AGI!Read A Primer to AGI: Asterisk Gateway Interface in full
Ext JS is an extremely powerful, cross-browser library, providing any developer with a beautiful, consistent set of tools for laying out browser-based applications. But there's a lot more here than just pretty boxes and grids. An application without data is really nothing more than an interactive static page, and our users are going to want to manipulate real information.
Steve Blades, one of the authors of Learning Ext JS follows up with this article on custom data readers.Read Custom Data Readers in Ext JS in full
In order to solve problems that arise in concurrently running threads in applications, we need new debugging techniques suitable for the new parallelism environments that occur in Visual C#. In this article by Gastón C. Hillar, we will learn many tricks and debugging procedures that will help us find solutions to multithreaded application problems and have a better understanding of the execution of parallel threads. In this article we will be performing the following exercises:
- Find out how to freeze some threads to stop concurrency and simplify the process for debugging one thread at a time
- Learn to set and control breakpoints with multithreaded applications
- Discover how to inspect values when multiple threads are accessing the variables that hold them
- Develop multithreaded applications that show partial results to help us in the debugging process
In order to solve problems that arise in concurrently running threads in applications, we need new debugging techniques suitable for the new parallelism environments that occur in Visual C#. In this article by Gastón C. Hillar, we will learn many tricks and debugging procedures that will help us find solutions to multithreaded application problems and have a better understanding of the execution of parallel threads. We will be performing the following exercises:
- Learn some tricks to prepare multithreaded code to simplify the debugging and troubleshooting processes
- Become skilled at watching and understanding the execution of multiple concurrent threads