Out of the box, Plone can be difficult for content managers to use, especially if they are infrequent contributors or non-technical users. This frequently leads to problems like wrong choices for content types, content places in wrong places, 'forgotten', abandoned content. This talk looks at tested best practices for making your Plone site easier to use for these content editors, and is appropriate for intranets and public sites. It demonstrates how to disable complex features you may not want, and suggests techniques that will allow your users to understand concepts like where to put content, how to tag it, and how to approve it. This talk was presented at the Plone Conference 2006, and is updated and being presented now as a hands-on tutorial, demonstrating how to apply this techniques on a real site.
This document provides an entity relationship diagram (ERD) for Openbravo ERP. It separates the diagram into chapters for each of the main functional modules. Common tables and columns are identified. The tables follow a standard naming convention and include common fields like created date, updated date, active status, client and organization IDs. The document aims to provide a complete view of the underlying database structure of Openbravo ERP.
This document provides documentation for the NetworkX Python package for working with network graphs. It covers how to install NetworkX via quick install, from source, or pre-built packages. It describes requirements like Python and optional packages. It then provides a tutorial on NetworkX basics, examples, input/output, directed/undirected graphs, and interfacing with other tools.
This document provides a tutorial on learning C++. It introduces fundamental C++ concepts like objects, data types, functions, classes and pointers. It is divided into chapters that cover getting started, decision making, loops, functions, structs, references, classes and pointers. Each chapter defines and provides examples for the core elements of C++ programming in that topic area.
This document is a textbook on Mathematics for Grade 3 published by Siyavula Uploaders on Connexions. It is divided into 4 terms covering topics such as numbers, operations, measurement, patterns, shapes and graphs. The textbook contains over 60 chapters providing instruction and exercises for students in third grade mathematics.
This document is a textbook on Mathematics for Grade 3 published by Siyavula Uploaders on Connexions. It is divided into 4 terms covering topics such as numbers, operations, measurement, patterns, shapes and graphs. The textbook contains over 60 chapters providing instruction and exercises for students in third grade mathematics.
Jfreereport and Charts an essential Report generation tool for Java DevelopersSanjeev Kulkarni
This document is a reference guide for version 0.8.3 of the JFreeReport library. It includes an introduction to JFreeReport, instructions for downloading, installing, and running JFreeReport, and documentation of the simple and extended report definition formats. It also covers topics like functions, expressions, groups, and the package structure.
The document discusses emulsions, which are fluid systems where liquid droplets are dispersed in another liquid. An emulsion forms when two immiscible liquids are mixed together, with one liquid dispersed as small droplets throughout the other continuous liquid phase. Emulsifiers are used to stabilize emulsions and prevent the separated phases from coalescing and separating. Common emulsions include mayonnaise, hollandaise sauce, and cosmetic creams. The document provides details on the properties, formation, uses, and stability of emulsions.
This document is the Red Hat Enterprise Linux 7 System Administrator's Guide. It was written by 14 authors from Red Hat Engineering Content Services and covers topics such as basic system configuration, package management, infrastructure services, and server configuration. The guide includes chapters on topics like users and groups, package management with Yum, system services with systemd, OpenSSH, and configuring mail, web, directory, file, and time servers. It is intended to help system administrators deploy, configure, and administer Red Hat Enterprise Linux 7 systems.
This document provides an entity relationship diagram (ERD) for Openbravo ERP. It separates the diagram into chapters for each of the main functional modules. Common tables and columns are identified. The tables follow a standard naming convention and include common fields like created date, updated date, active status, client and organization IDs. The document aims to provide a complete view of the underlying database structure of Openbravo ERP.
This document provides documentation for the NetworkX Python package for working with network graphs. It covers how to install NetworkX via quick install, from source, or pre-built packages. It describes requirements like Python and optional packages. It then provides a tutorial on NetworkX basics, examples, input/output, directed/undirected graphs, and interfacing with other tools.
This document provides a tutorial on learning C++. It introduces fundamental C++ concepts like objects, data types, functions, classes and pointers. It is divided into chapters that cover getting started, decision making, loops, functions, structs, references, classes and pointers. Each chapter defines and provides examples for the core elements of C++ programming in that topic area.
This document is a textbook on Mathematics for Grade 3 published by Siyavula Uploaders on Connexions. It is divided into 4 terms covering topics such as numbers, operations, measurement, patterns, shapes and graphs. The textbook contains over 60 chapters providing instruction and exercises for students in third grade mathematics.
This document is a textbook on Mathematics for Grade 3 published by Siyavula Uploaders on Connexions. It is divided into 4 terms covering topics such as numbers, operations, measurement, patterns, shapes and graphs. The textbook contains over 60 chapters providing instruction and exercises for students in third grade mathematics.
Jfreereport and Charts an essential Report generation tool for Java DevelopersSanjeev Kulkarni
This document is a reference guide for version 0.8.3 of the JFreeReport library. It includes an introduction to JFreeReport, instructions for downloading, installing, and running JFreeReport, and documentation of the simple and extended report definition formats. It also covers topics like functions, expressions, groups, and the package structure.
The document discusses emulsions, which are fluid systems where liquid droplets are dispersed in another liquid. An emulsion forms when two immiscible liquids are mixed together, with one liquid dispersed as small droplets throughout the other continuous liquid phase. Emulsifiers are used to stabilize emulsions and prevent the separated phases from coalescing and separating. Common emulsions include mayonnaise, hollandaise sauce, and cosmetic creams. The document provides details on the properties, formation, uses, and stability of emulsions.
This document is the Red Hat Enterprise Linux 7 System Administrator's Guide. It was written by 14 authors from Red Hat Engineering Content Services and covers topics such as basic system configuration, package management, infrastructure services, and server configuration. The guide includes chapters on topics like users and groups, package management with Yum, system services with systemd, OpenSSH, and configuring mail, web, directory, file, and time servers. It is intended to help system administrators deploy, configure, and administer Red Hat Enterprise Linux 7 systems.
Plesk Sitebuilder 4.5 for Linux/Unix Wizard User's Guidewebhostingguy
This document provides an overview and instructions for using Parallels Plesk Sitebuilder. It discusses getting started with the Plesk Sitebuilder Wizard, including logging in and understanding the interface. It then covers using the wizard to choose a site type, design, structure, and populate the site with content like text, images, tables, and modules. The document provides guidance on site creation features within Plesk Sitebuilder.
1) Many groups presented file replication systems they have developed and are using in production, including JLAB, SRB, Globus, GDMP, MAGDA, SAM, STAR, and BaBar.
2) The systems utilize various components like replica catalogs, file transfer services, storage interfaces, and scheduling/management layers to provide robust file replication capabilities.
3) Key topics of discussion included interfaces and standards for replication services, error handling, reliability, performance, and experience from different experiments. Groups expressed interest in further collaboration in these areas.
This document provides copyright information and details about Parallels Plesk Panel. It covers topics such as logging in, customizing the control panel interface, viewing hosting package details, simplifying website setup, hosting websites, deploying databases, installing applications, and securing websites. The document contains instructions for tasks like creating hosting accounts, publishing websites, configuring ASP.NET, and setting up SSL encryption.
The document is the Flask documentation, which provides information on using the Flask web framework in Python. It covers topics like installation, basic usage, routing, templates, testing, configuration, debugging errors, and signals. The documentation contains tutorials, guides, and reference material to help developers build web applications with Flask.
The document is the R Language Definition and provides details about the R programming language. It discusses the different types of objects in R like vectors, lists, and data frames. It also describes how expressions are evaluated in R through functions, control structures, arithmetic operations, and indexing. Permission is granted to distribute copies of the manual provided the copyright is preserved.
This document is an introduction to creating Android applications. It discusses downloading the necessary developer software, including the Android SDK and Eclipse IDE. It also covers setting up a new Android project in Eclipse, running the app in an emulator or on a device, and creating a basic "Hello World" activity. The document then provides an overview of some key concepts for developing Android apps, such as activities, intents, and managing user interfaces with views and layouts.
This document is a book about programming in CSharp that was written by Willi-Hans Steeb and E.J. Dembskey. It covers many topics related to CSharp including basics, object-oriented programming concepts, streams, files, graphics, events, and processes/threads. The table of contents lists over 20 chapters that delve into these various aspects of the CSharp programming language.
Information extraction systems aspects and characteristicsGeorge Ang
This document provides a survey of information extraction systems and techniques. It discusses the main components and design approaches of information extraction, including manual and automatic pattern discovery. It also reviews several important prior information extraction systems and approaches to wrapper generation, including both supervised and unsupervised methods. The document serves to describe the state of the art in information extraction and provide an overview of the field.
This document is the System Administrator's Guide for Red Hat Enterprise Linux 7. It was written by 17 authors from Red Hat and covers topics such as basic system configuration, managing subscriptions and support, installing and managing software, and infrastructure services. The guide includes chapters on configuring the system locale and keyboard, managing users and groups, installing and updating packages with Yum, and services like OpenSSH and TigerVNC. It is intended for system administrators with basic Linux knowledge.
This document presents the design process for a paintball marker from conception to finished product. It includes research on existing products, project management techniques, 3D CAD modeling, and diagrams. The design process involved defining requirements, creating schedules and models, analyzing alternatives, and developing technical drawings of the marker's internal components and assemblies.
The document discusses KSS (Kinetic Style Sheets), a JavaScript library that allows dynamic updates to web pages without reloading. It provides an overview of KSS and covers both client-side and server-side KSS techniques. Some examples include using KSS to dynamically update HTML, add/remove CSS classes, and handle form submissions without a page reload. The document also includes a KSS cheat sheet with details on events, actions, parameter providers and command sets.
SchoolAdmin - School Fees Collection & Accounting SoftwareRanganath Shivaram
MarvelSoft SchoolAdmin Lite Edition is a school fee collection software. You can manage student information, fees defaulters, Generate & print fees and student reports in word, pdf and excel
This document is the user manual for EMS Data Export 2010 for MySQL version 3.3. It contains information about the product's features and how to use its wizard application to export data from MySQL databases to various file formats like Excel, Access, Word, and HTML. The manual has sections covering the wizard's steps for setting connection options, selecting tables and queries, choosing an export format and fields, and configuring format-specific export options.
This document provides information for developers wishing to develop applications using the MySQL Cluster storage engine APIs. It describes the low-level C++ NDB API, the C MGM API for controlling management servers, and the MySQL Cluster Connector for Java. The guide includes concepts, terminology, class and function references, examples, common problems and tips for using these APIs to develop applications. It also contains information about NDB internals that may be of interest to developers working with MySQL Cluster.
Peachpit mastering xcode 4 develop and design sep 2011Jose Erickson
This document provides information about the book "Mastering Xcode 4: Develop and Design" by Joshua Nozzi. It was published by Peachpit Press in 2012 and covers using Xcode 4 to develop applications for iOS and Mac OS X. The book includes chapters on using the Xcode interface, creating user interfaces, adding and managing files in a project, writing and debugging code, and using the data model editor. It is intended to help readers master the development tools and workflows in Xcode 4.
This document provides information about multi-booting Solaris and other operating systems like Windows NT and Linux. It discusses boot managers for each OS and how to partition a hard disk to install multiple operating systems. The document also provides step-by-step examples for configuring common multi-boot scenarios with different combinations of Solaris, Windows NT, Linux and Windows 98 on single and dual hard disk configurations.
This document provides code conventions for writing Java code, including recommendations for file names, file organization within source code files, indentation, comments, declarations, statements, white space, naming conventions, and programming practices. It aims to improve code readability and maintainability. The conventions are based on the Java Language Specification from Sun Microsystems and aim to make the code as well-organized and clean as possible.
Hello, android introducing google’s mobile development platform, 2nd editio...Kwanzoo Dev
This document contains reviews and endorsements of the book "Hello, Android - Introducing Google's Mobile Development Platform, 2nd Edition" by Ed Burnette. The reviews praise the book for being well-written, easy to read, fun, and for explaining Android's quirks well. They note the book covers a lot of ground while retaining clarity. The material on 2D and 3D graphics alone is said to be worth including in any Android developer's library. One reviewer says the book would have made learning Android much less painful.
This document provides instructions for installing and configuring the SchoolAdmin Standard EVD software. It outlines the system requirements and installation process. Additionally, it describes how to define various settings and configurations within the software such as user roles, fee structures, school settings, and master settings for items like classes, subjects, and sections. The document also includes directions for managing tasks like backing up data, editing records, and working within the options menu.
This document is a guide for playing the game Civilization. It covers strategies for the early game such as initial exploration, technology and city building. It also discusses managing cities, military strategy, civics policies, religion, diplomacy, and dealing with unhappiness. The guide is intended to help new players with their early moves and general city and empire management throughout the game.
This document outlines design principles, navigation paradigms, and patterns for a software interface. It describes fundamentals like copyright, patterns for displaying different types of information (e.g. fact sheets, guided activities), and specific interface patterns like calendars, images, lists, and filters. The document provides guidance for implementing a consistent and user-friendly interface.
Plesk Sitebuilder 4.5 for Linux/Unix Wizard User's Guidewebhostingguy
This document provides an overview and instructions for using Parallels Plesk Sitebuilder. It discusses getting started with the Plesk Sitebuilder Wizard, including logging in and understanding the interface. It then covers using the wizard to choose a site type, design, structure, and populate the site with content like text, images, tables, and modules. The document provides guidance on site creation features within Plesk Sitebuilder.
1) Many groups presented file replication systems they have developed and are using in production, including JLAB, SRB, Globus, GDMP, MAGDA, SAM, STAR, and BaBar.
2) The systems utilize various components like replica catalogs, file transfer services, storage interfaces, and scheduling/management layers to provide robust file replication capabilities.
3) Key topics of discussion included interfaces and standards for replication services, error handling, reliability, performance, and experience from different experiments. Groups expressed interest in further collaboration in these areas.
This document provides copyright information and details about Parallels Plesk Panel. It covers topics such as logging in, customizing the control panel interface, viewing hosting package details, simplifying website setup, hosting websites, deploying databases, installing applications, and securing websites. The document contains instructions for tasks like creating hosting accounts, publishing websites, configuring ASP.NET, and setting up SSL encryption.
The document is the Flask documentation, which provides information on using the Flask web framework in Python. It covers topics like installation, basic usage, routing, templates, testing, configuration, debugging errors, and signals. The documentation contains tutorials, guides, and reference material to help developers build web applications with Flask.
The document is the R Language Definition and provides details about the R programming language. It discusses the different types of objects in R like vectors, lists, and data frames. It also describes how expressions are evaluated in R through functions, control structures, arithmetic operations, and indexing. Permission is granted to distribute copies of the manual provided the copyright is preserved.
This document is an introduction to creating Android applications. It discusses downloading the necessary developer software, including the Android SDK and Eclipse IDE. It also covers setting up a new Android project in Eclipse, running the app in an emulator or on a device, and creating a basic "Hello World" activity. The document then provides an overview of some key concepts for developing Android apps, such as activities, intents, and managing user interfaces with views and layouts.
This document is a book about programming in CSharp that was written by Willi-Hans Steeb and E.J. Dembskey. It covers many topics related to CSharp including basics, object-oriented programming concepts, streams, files, graphics, events, and processes/threads. The table of contents lists over 20 chapters that delve into these various aspects of the CSharp programming language.
Information extraction systems aspects and characteristicsGeorge Ang
This document provides a survey of information extraction systems and techniques. It discusses the main components and design approaches of information extraction, including manual and automatic pattern discovery. It also reviews several important prior information extraction systems and approaches to wrapper generation, including both supervised and unsupervised methods. The document serves to describe the state of the art in information extraction and provide an overview of the field.
This document is the System Administrator's Guide for Red Hat Enterprise Linux 7. It was written by 17 authors from Red Hat and covers topics such as basic system configuration, managing subscriptions and support, installing and managing software, and infrastructure services. The guide includes chapters on configuring the system locale and keyboard, managing users and groups, installing and updating packages with Yum, and services like OpenSSH and TigerVNC. It is intended for system administrators with basic Linux knowledge.
This document presents the design process for a paintball marker from conception to finished product. It includes research on existing products, project management techniques, 3D CAD modeling, and diagrams. The design process involved defining requirements, creating schedules and models, analyzing alternatives, and developing technical drawings of the marker's internal components and assemblies.
The document discusses KSS (Kinetic Style Sheets), a JavaScript library that allows dynamic updates to web pages without reloading. It provides an overview of KSS and covers both client-side and server-side KSS techniques. Some examples include using KSS to dynamically update HTML, add/remove CSS classes, and handle form submissions without a page reload. The document also includes a KSS cheat sheet with details on events, actions, parameter providers and command sets.
SchoolAdmin - School Fees Collection & Accounting SoftwareRanganath Shivaram
MarvelSoft SchoolAdmin Lite Edition is a school fee collection software. You can manage student information, fees defaulters, Generate & print fees and student reports in word, pdf and excel
This document is the user manual for EMS Data Export 2010 for MySQL version 3.3. It contains information about the product's features and how to use its wizard application to export data from MySQL databases to various file formats like Excel, Access, Word, and HTML. The manual has sections covering the wizard's steps for setting connection options, selecting tables and queries, choosing an export format and fields, and configuring format-specific export options.
This document provides information for developers wishing to develop applications using the MySQL Cluster storage engine APIs. It describes the low-level C++ NDB API, the C MGM API for controlling management servers, and the MySQL Cluster Connector for Java. The guide includes concepts, terminology, class and function references, examples, common problems and tips for using these APIs to develop applications. It also contains information about NDB internals that may be of interest to developers working with MySQL Cluster.
Peachpit mastering xcode 4 develop and design sep 2011Jose Erickson
This document provides information about the book "Mastering Xcode 4: Develop and Design" by Joshua Nozzi. It was published by Peachpit Press in 2012 and covers using Xcode 4 to develop applications for iOS and Mac OS X. The book includes chapters on using the Xcode interface, creating user interfaces, adding and managing files in a project, writing and debugging code, and using the data model editor. It is intended to help readers master the development tools and workflows in Xcode 4.
This document provides information about multi-booting Solaris and other operating systems like Windows NT and Linux. It discusses boot managers for each OS and how to partition a hard disk to install multiple operating systems. The document also provides step-by-step examples for configuring common multi-boot scenarios with different combinations of Solaris, Windows NT, Linux and Windows 98 on single and dual hard disk configurations.
This document provides code conventions for writing Java code, including recommendations for file names, file organization within source code files, indentation, comments, declarations, statements, white space, naming conventions, and programming practices. It aims to improve code readability and maintainability. The conventions are based on the Java Language Specification from Sun Microsystems and aim to make the code as well-organized and clean as possible.
Hello, android introducing google’s mobile development platform, 2nd editio...Kwanzoo Dev
This document contains reviews and endorsements of the book "Hello, Android - Introducing Google's Mobile Development Platform, 2nd Edition" by Ed Burnette. The reviews praise the book for being well-written, easy to read, fun, and for explaining Android's quirks well. They note the book covers a lot of ground while retaining clarity. The material on 2D and 3D graphics alone is said to be worth including in any Android developer's library. One reviewer says the book would have made learning Android much less painful.
This document provides instructions for installing and configuring the SchoolAdmin Standard EVD software. It outlines the system requirements and installation process. Additionally, it describes how to define various settings and configurations within the software such as user roles, fee structures, school settings, and master settings for items like classes, subjects, and sections. The document also includes directions for managing tasks like backing up data, editing records, and working within the options menu.
This document is a guide for playing the game Civilization. It covers strategies for the early game such as initial exploration, technology and city building. It also discusses managing cities, military strategy, civics policies, religion, diplomacy, and dealing with unhappiness. The guide is intended to help new players with their early moves and general city and empire management throughout the game.
This document outlines design principles, navigation paradigms, and patterns for a software interface. It describes fundamentals like copyright, patterns for displaying different types of information (e.g. fact sheets, guided activities), and specific interface patterns like calendars, images, lists, and filters. The document provides guidance for implementing a consistent and user-friendly interface.
This document provides documentation for TortoiseHg version 1.1.7. It includes sections on installing and configuring TortoiseHg, performing common version control tasks like initializing a repository, committing changes, and sharing a repository. It also covers additional TortoiseHg features such as shelving changes, viewing changelogs, and using extensions. The documentation is intended for users of the TortoiseHg graphical user interface for Mercurial.
This document provides documentation for TortoiseHg version 1.1.7. It contains information about installing and configuring TortoiseHg, performing common version control tasks through the Windows Explorer interface like initializing a repository, adding and committing files, and sharing a repository. It also documents additional TortoiseHg features such as shelving changes, viewing changelogs and repository metadata, and using extensions.
This document provides an overview of R's internal structures and programming concepts. It discusses topics such as SEXPs (the basic R data structure), environments and variable lookup, attributes, contexts, argument evaluation, autoprinting, serialization formats, encodings, warnings and errors, S4 objects, memory allocation, and graphics devices. The document is intended for developers and advanced users who want to understand how R works under the hood.
Analysis Of The Modern Methods For Web PositioningPaweł Kowalski
This thesis analyzes personalization in search engines and how it impacts search engine optimization (SEO). It presents experiments on how personalization affects search rankings. The thesis proposes new SEO methods that leverage personalization. It contains 5 chapters that discuss personalized search operations, analyzing user behavior data, the effect of personalization on SEO metrics, an SEO guide, and a proposed system for global personalization. The thesis was supervised by Dr. Dariusz Król at the Faculty of Computer Science and Management.
This document is a chapter from a book on MIPS Assembly Language Programming. It discusses how computers represent data at the lowest level using bits and binary numbers. Integer values can be represented using binary, where each digit is either a 0 or 1. Binary numbers can represent decimal values, with each power of two corresponding to a place value. Bytes are commonly used to represent 8-bit binary numbers. The chapter also covers topics like unsigned vs. signed binary numbers and memory organization.
The document provides an overview of the C preprocessor, which is a macro processor that transforms C code before compilation. It covers preprocessing tasks like handling headers, macros, conditionals, and other directives. It also describes the traditional mode for backward compatibility with older code and implementations.
This document outlines the goals and requirements for Project 3, which involves writing a kernel from scratch. It discusses hardware primitives, the boot process, device drivers, context switching, scheduling, system calls, building and loading user programs, the programming environment, hints for implementing a kernel, and debugging strategies. The project involves implementing an operating system kernel that supports interrupts, scheduling, and basic system calls.
Ibm info sphere datastage data flow and job designdivjeev
This document provides an overview of IBM InfoSphere DataStage and discusses its key functions and best practices. It contains chapters that describe various IBM InfoSphere DataStage stages and components, present a retail industry scenario to demonstrate how to design and implement ETL jobs, and include additional reference material.
This document is a user guide for the LSI SAS2 Integrated RAID solution. It describes the benefits of the integrated RAID solution such as host interface support, metadata support, SMART support, and Fusion-MPT support. It also provides overviews of how mirrored volumes operate and their key features like resynchronization, hot swapping, hot spares, online capacity expansion, and more. The document includes steps for creating mirrored volumes, managing hot spare disks, and other administrative tasks.
This document provides documentation for the MarvelSoft Library Administration software. It details how to configure user accounts and permissions, manage student and staff data, and catalog library resources like books, publishers, authors and locations. Sections cover adding, editing and reporting on users, students, staff and book inventory. The documentation also explains how to set up core reference data including castes, classes, subjects and more.
The document provides an overview of installing and using the osCommerce online merchant system. It describes the requirements and steps to install osCommerce, including pre-installation, installation procedure, and post-installation steps. It then outlines the key areas of the catalog frontend and administration backend, covering configuration settings, catalog management, customers/orders, localization, reports, and tools.
This document provides an introduction and overview of data structures and algorithms. It discusses linked lists, binary search trees, heaps, sets, queues, and the AVL tree data structure. It also covers sorting algorithms like merge sort, quicksort, and insertion sort as well as numeric algorithms for primality testing, base conversions, finding greatest common denominators, and more. The goal is to provide annotated references and examples of how to implement and use various common data structures and algorithms.
This document is Steven Edward Atkin's dissertation submitted to Florida Institute of Technology in partial fulfillment of the requirements for a Doctor of Philosophy in Computer Science. The dissertation proposes a new multi-layered architecture called Metacode for multilingual information processing. It analyzes existing character encoding schemes and algorithms like bidirectional reordering and character normalization, and argues they lack a coherent architectural framework. The dissertation then introduces abstractions and mechanisms to organize these elements into the Metacode architecture.
This document provides best practices for using IBM Blueworks Live to conduct process discovery. It discusses starting a process discovery project in Blueworks Live, creating a "Discovery Map" to identify milestones and activities, developing a process diagram using BPMN notation, and using the "Analyze Mode" feature to analyze bottlenecks and opportunities for improvement. The overall goal is to uncover an as-is view of key business processes in order to identify areas that could benefit from process optimization or automation.
This document provides best practices for using IBM Blueworks Live to conduct process discovery. It discusses starting a process discovery project in Blueworks Live, creating a "Discovery Map" to identify milestones and activities, developing a process diagram using BPMN notation, and using the "Analyze Mode" feature to analyze bottlenecks and opportunities for improvement. The overall goal is to uncover an as-is view of key business processes in order to identify areas that could benefit from process optimization or automation.
The document provides guidelines for formatting Java code, including file naming conventions, file organization, indentation, comments, declarations, statements, whitespace, naming conventions, and programming practices. Key points include recommending .java and .class file extensions, putting a single public class per source file, using package and import statements at the top, and separating sections with blank lines and comments.
This document provides guidance on creating scientific posters. It covers overall considerations for developing content, including using the IMRAD format and including tables, graphs and references. It also discusses design elements like fonts, layout, and effective use of space. Finally, it addresses printing and presenting the poster. The goal is to help researchers communicate their work effectively through visual presentation at conferences or events.
Similar to Building a humane CMS for Plone: updated tutorial (20)
Sally Kleinfeldt - Plone Application Development PatternsVincenzo Barone
In 2004 The Nature Conservancy adopted Plone as the platform for ConserveOnline.org, a community site for sharing conservation information. Since then, we have gained experience implementing several successful Plone intranet applications, made plenty of mistakes, and learned how to - and how not to - approach new Plone projects. This talk will compare our experiences developing two very different intranet Plone applications that manage conservation information. The first application has a complex data model with a relational database backend and makes minimal use of Archetypes. Its requirements - including data model and user interface - were rigidly specified based on a spreadsheet tool. The second application is Archetypes-based and was developed using UML modeling and ArchGenXML. It has a simple data model, uses the ZODB for storage, and its requirements were more loosely specified. From the lessons we learned on these projects, we have developed a set of application pattern definitions to guide us when choosing technologies and estimating costs. We think these pattern definitions can help managers, integrators, and people new to Plone understand when to use Plone, when not to use Plone, and how to structure their interactions with clients to ensure a successful Plone project.
Where's the source, Luke? : How to find and debug the code behind PloneVincenzo Barone
Plone, being a python based CMS written as a project for the Zope application server, consist almost entirely of python modules and a number of configuration files. Python source code is loved by many in the community for its explicit readablity; however, for many experienced software developers, coming over to the Plone technology stack can be a haunting experience. It seems everything is hidden away as pickled object in the ZODB, and that layers of magic prevent one from understanding how it works and how to affect change. This presentation will explain to the novice: - how to track down the python source behind Plone - how to take advantage of rich open source tools like ctags and pdb - best practices for getting started with file system product development
ItalianSkin: an improvement in the accessibility of the Plone interface in or...Vincenzo Barone
The Italian government has made a law specifying the accessibility requirements (the most famous is the usage of the Strict XHTML) for public administration websites. To enable Plone front- and back-end to be compliant with these specifications the ItalianSkin project was initiated, but its development has gone beyond the simple implementation of the law and has continued with the objectives of making Plone wholly functional with screen readers for blind people and providing developers with automatic tools to improve the accessibility of their own sites. We would recommend this talk to anyone developing websites and in particular to those who are responsible for accessibility.
In this session I will describe possibilities for everybody to make Plone more known. This includes how to leverage the power of social media such as blogging, videoblogging and podcasting but also spreading the word about Plone by attending unconferences like Barcamps or being active in Second Life. This talk is targeted to everybody who want to make Plone more popular.
Lennart Regebro What Zope Did Wrong (And What To Do Instead)Vincenzo Barone
Zope did many things right originally by using Python and including batteries, but it had some downfalls like being unpythonic, having too many magical parts, and being too complicated. Zope 3 aimed to address these issues but ended up being too abstract and XML-based, slowing development. The document discusses ideas for improving on Zope by having a low entry threshold, being highly modular, and starting with finished applications that use Python and a component architecture.
Wichert Akkerman Plone Deployment Practices The Plone.Org SetupVincenzo Barone
The plone.org and plone.net websites are the first confrontation with Plone for most users. It is important that they perform well and are stable. With almost 4 million page views per day and thousands of LDAP users plone.org and plone.net are examples of a complex deployment setup requiring LDAP, caching and load balancing - all on a single machine. I will describe how the Plone websites are build and how those practices can be applied to other sites, making it possible to scale upwards to bigger sites or make smaller sites more efficient.
Philipp Von Weitershausen Untested Code Is Broken CodeVincenzo Barone
If you're one of those programmers who think that subtle bugs only happen to other people, or that only bad programmers need extensive testing, this talk is for you.
Any non-trivial piece of software should be accompanied by an appropriate suite of automated tests. Your Plone products are no exception. By understanding approaches to automated testing and following good working practices, you can improve the quality of your code, as well as your confidence in your own work.
In this talk, Philipp von Weitershausen and Martin Aspeli will take you through the theory and practice of unit testing, integration testing and functional testing. Through real-world examples, you will learn that testing is not only necessary: it can be fun too!
Duco Dokter - Plone for the enterprise market: technical musing on caching, C...Vincenzo Barone
This technical presentation will cover many aspects of what one might encounter when a plone site is to be deployed in a highly demanding environment. And for what it's worth, these are not only theoretical examples, but they have also been proven to work in real life. The following items will be presented: * High Availability architecture * Clustering with ZEO * Synchronizing Data.fs * Load Balancing * Sticky Sessions * Caching * Single Sign-On
The document discusses subtyping in Plone and presents an example of creating a new document subtype called "UltraDoc" using the p4a.subtyper package. The example shows how to define a marker interface, descriptor class, template, and ZCML configuration to integrate the new subtype into Plone so it appears as its own content type with a customized view. The presentation aims to demonstrate how subtyping can be used to provide different identities for content and transform content based on events.
Alec Mitchell Relationship Building Defining And Querying Complex Relatio...Vincenzo Barone
The current story for relating content in Plone, via Archetypes reference fields, is limited and known to have poor performance in some cases. This talk will focus on the integration of Zope 3 tools for handling relationships (intids, zc.relationship) in Zope 2 via plone.app.relations. In particular I will be comparing the merits of these tools against existing methods (Archetypes references, using a separate RDBMS for content relationships), discussing particular applications for which they may be useful, and some areas in which they fall short. The comparison to existing relationship modeling tools will cover performance, flexibility, and convenience. To illustrate the relative convenience, I will give a brief overview of the plone.app.relations API, from the lower level index and relationship container to the high level API for making queries and defining relationships. The discussion of applications will focus on a some real world uses. These include social networking, defining complex taxonomies, having content appear attached to multiple locations, and other things for which Plone typically would not be suitable (these tools are in use at http://www.thedailyreel.com). In particular, I'll discuss how the default relationship attributes and query methods from the API can be used to model each of these applications. Finally, I'll discuss the areas in which these tools may fall short in terms of performance and flexibility, and where an RDBMS or specialized catalog may be necessary.
The Wageindicator Foundation deploys Plone for it's world-wide portals on wage information. Moreover, Plone serves as an application platform for most of the web based tools used to create questionnaires, salarychecks and other interactive content. The Wageindicator Foundation was started in 2000 in the Netherlands, and is now the hub of an international collaboration between universities, research institutes, trade unions and commercial parties. The goal of the foundation is to share and compare wage information, and so to contribute to a transparent labor market. The ideological stance of the foundation means that Open Source and free software is preferred. The separate sites collect over 400.000 visitors per month, served by four clusters of two machines each, hosted in the USA, India and the Netherlands. Techniques involved are HA-Clustering, load-balancing, caching, remote distribution of new releases for software.
Tom Lazar Using Zope3 Views And Viewlets For Plone 3.0 Product DevelopmentVincenzo Barone
A hands-on workshop on how to use Zope3 Views and Viewlets in Products targeted for Plone 3.0 (and why you would want to do so). Special emphasis will be on best practices in general, handling and validation of forms and how Zope3's shiny new toys make it easier to write reusable code and cleaner markup. Finally, the talk will deal with how Views and Viewlets can help you make your product better cacheable. Although the talk is targeted at Plone integrators who already have experience using the older CMF-based approach it will also try to address people new to Plone who want to customize it in a future-proof manner.
Xavier Heymans Plone Gov Plone In The Public Sector. Panel Presenting The...Vincenzo Barone
The PloneGov project regroups local and regional governments and SME from over 15 countries and 3 continents. The goals of this close collaboration is to develop in a cooperative manner, applications and websites suited for public organization for their own use as well as for their citizens’. To give an overview of PloneGov project and tools, we propose to make 6 presentations in 2x45 minutes: Xavier Heymans, will introduce the project, potential and strategy of development. Speakers will be experts from the public and private sector collaborating in PloneGov. They will represent the different national branches of PloneGov and will present their project and tools in use by local governments to parliaments.
Brent Lambert Plone In Education A Case Study Of The Use Of Plone And Educa...Vincenzo Barone
In recent years MIT has been releasing course materials online through their OpenCourseware project, making content available all around the world for free. Many people have benefited and continue to benefit today from having these materials available. Other universities are also now beginning to see the value of participating in similar movements, and are publishing OpenCourseware sites of their own. This movement is growing across the world including universities from several countries such as Japan, China, Spain, the Netherlands, Mexico, and the United States. Producing web sites with freely available educational content can be a complicated endeavor for many academic institutions. Work is currently being done to reduce the technological and economic barriers to participating in OpenCourseware. A project called eduCommons, which is built by the Center for Open Sustainable Learning (COSL) at Utah State University, is making it easier for institutions share their course materials. This session will detail the evolution of eduCommons, from its first release on Plone 1.5.2, to the most current version that has just been released on Plone 3. Even if you are not involved in OpenCourseware, but are contemplating making course materials or educational content available on the web, you will want to learn about our approach to writing reusable Plone based educational products, and learn about best practices of how to publish educational content from those who have been involved in the OpenCourseware movement.
The plone.org and plone.net websites are the first confrontation with Plone for most users. It is important that they perform well and are stable. With almost 4 million page views per day and thousands of LDAP users plone.org and plone.net are examples of a complex deployment setup requiring LDAP, caching and load balancing - all on a single machine. I will describe how the Plone websites are build and how those practices can be applied to other sites, making it possible to scale upwards to bigger sites or make smaller sites more efficient.
Philipp Von Weitershausen Plone Age Mammoths, Sabers And Caveen Cant The...Vincenzo Barone
It is the last Plone age. The big and strong but lonely mammoth has led the way for eons. But now it is threatened by a pack of saber-tooth tigers who are quick, agile and work together. Can the friendly caveman save the mammoth and make piece with the sabers? Can Grok help making Zope and Plone more agile? Will Zope and the other web frameworks fall in love, and what do WSGI and Paste have to say about that? From the makers of "Zope on a Paste", coming this October, a comedy for the whole family (developers, integrators and newbiews). Rated PG-13.
Denis Mishunov Making Plone Theme 10 Most Wanted Tips Vincenzo Barone
It will be a chart of 10 small (some are not that small), but I hope useful tips for making new Plone theme. Among those might occur (the exact list might be slightly changed): 1. Center the logo 2. Makin rounded corners 3. Making dropdown shadows 4. *Under-water stones* of testing Plone theme. Places you might want to check before deployment and so on This session is supposed to cover the most wanted tips in Plone skinning process, based on questions on #plone, mailing lists and personal communications with people, making Plone themes. Target group for this session - Plone skinning beginners with basic knowledge of how Plone themes are produced and Plone skinning intermediaries. I hope this session will give people some cool ideas on how to improve their themes and work more productive in the future.
Kupu is the visual editor in Plone. This talk will cover how it came about, what it can do now, and what it might become. The talk will cover the new features in Kupu 1.4, and how to configure Kupu to get the best out of it. It will also look at some of the challenges that Kupu has to meet in the future.
KSS, the new Ajax framework for Plone 3 comes with great components by default. But what if you need to integrate it with legacy Javascript? Or maybe you want to integrate that nice library/widget you found on the web. During this talk I will show you where you can extend KSS and how to do it. You can watch me create both the server side and client side code needed to integrate an existing piece of Javascript. After this talk KSS should have no limits for you.
Jared Whitlock Open Source In The Enterprise Plone @ NovellVincenzo Barone
Novell has used various proprietary CMS solutions over time, including TeamSite and Vignette. None of these solutions met all of our needs, nor were they easy to modify. We began looking at different Open Source CMS options, and decided on Plone. This presentation will briefly discuss Novell's proprietary CMS history, why we chose Plone, what we are currently using and developing, and our plans for the future. It will also discuss our architecture for making Plone successful for enterprise websites.
AI Transformation Playbook: Thinking AI-First for Your BusinessArijit Dutta
I dive into how businesses can stay competitive by integrating AI into their core processes. From identifying the right approach to building collaborative teams and recognizing common pitfalls, this guide has got you covered. AI transformation is a journey, and this playbook is here to help you navigate it successfully.
SATTA MATKA DPBOSS KALYAN MATKA RESULTS KALYAN CHART KALYAN MATKA MATKA RESULT KALYAN MATKA TIPS SATTA MATKA MATKA COM MATKA PANA JODI TODAY BATTA SATKA MATKA PATTI JODI NUMBER MATKA RESULTS MATKA CHART MATKA JODI SATTA COM INDIA SATTA MATKA MATKA TIPS MATKA WAPKA ALL MATKA RESULT LIVE ONLINE MATKA RESULT KALYAN MATKA RESULT DPBOSS MATKA 143 MAIN MATKA KALYAN MATKA RESULTS KALYAN CHART
SATTA MATKA DPBOSS KALYAN MATKA RESULTS KALYAN CHART KALYAN MATKA MATKA RESULT KALYAN MATKA TIPS SATTA MATKA MATKA COM MATKA PANA JODI TODAY BATTA SATKA MATKA PATTI JODI NUMBER MATKA RESULTS MATKA CHART MATKA JODI SATTA COM INDIA SATTA MATKA MATKA TIPS MATKA WAPKA ALL MATKA RESULT LIVE ONLINE MATKA RESULT KALYAN MATKA RESULT DPBOSS MATKA 143 MAIN MATKA KALYAN MATKA RESULTS KALYAN CHART
The Steadfast and Reliable Bull: Taurus Zodiac Signmy Pandit
Explore the steadfast and reliable nature of the Taurus Zodiac Sign. Discover the personality traits, key dates, and horoscope insights that define the determined and practical Taurus, and learn how their grounded nature makes them the anchor of the zodiac.
𝐔𝐧𝐯𝐞𝐢𝐥 𝐭𝐡𝐞 𝐅𝐮𝐭𝐮𝐫𝐞 𝐨𝐟 𝐄𝐧𝐞𝐫𝐠𝐲 𝐄𝐟𝐟𝐢𝐜𝐢𝐞𝐧𝐜𝐲 𝐰𝐢𝐭𝐡 𝐍𝐄𝐖𝐍𝐓𝐈𝐃𝐄’𝐬 𝐋𝐚𝐭𝐞𝐬𝐭 𝐎𝐟𝐟𝐞𝐫𝐢𝐧𝐠𝐬
Explore the details in our newly released product manual, which showcases NEWNTIDE's advanced heat pump technologies. Delve into our energy-efficient and eco-friendly solutions tailored for diverse global markets.
DPBOSS NET SPBOSS SATTA MATKA RESULT KALYAN MATKA GUESSING FREE KALYAN FIX JO...essorprof62
DPBOSS NET SPBOSS SATTA MATKA RESULT KALYAN MATKA GUESSING FREE KALYAN FIX JODI ANK LEAK FIX GAME BY DP BOSS MATKA SATTA NUMBER TODAY LUCKY NUMBER FREE TIPS ...
Efficient PHP Development Solutions for Dynamic Web ApplicationsHarwinder Singh
Unlock the full potential of your web projects with our expert PHP development solutions. From robust backend systems to dynamic front-end interfaces, we deliver scalable, secure, and high-performance applications tailored to your needs. Trust our skilled team to transform your ideas into reality with custom PHP programming, ensuring seamless functionality and a superior user experience.
Prescriptive analytics BA4206 Anna University PPTFreelance
Business analysis - Prescriptive analytics Introduction to Prescriptive analytics
Prescriptive Modeling
Non Linear Optimization
Demonstrating Business Performance Improvement
Enhancing Adoption of AI in Agri-food: IntroductionCor Verdouw
Introduction to the Panel on: Pathways and Challenges: AI-Driven Technology in Agri-Food, AI4Food, University of Guelph
“Enhancing Adoption of AI in Agri-food: a Path Forward”, 18 June 2024
Tired of chasing down expiring contracts and drowning in paperwork? Mastering contract management can significantly enhance your business efficiency and productivity. This guide unveils expert secrets to streamline your contract management process. Learn how to save time, minimize risk, and achieve effortless contract management.
SATTA MATKA DPBOSS KALYAN MATKA RESULTS KALYAN CHART KALYAN MATKA MATKA RESULT KALYAN MATKA TIPS SATTA MATKA MATKA COM MATKA PANA JODI TODAY BATTA SATKA MATKA PATTI JODI NUMBER MATKA RESULTS MATKA CHART MATKA JODI SATTA COM INDIA SATTA MATKA MATKA TIPS MATKA WAPKA ALL MATKA RESULT LIVE ONLINE MATKA RESULT KALYAN MATKA RESULT DPBOSS MATKA 143 MAIN MATKA KALYAN MATKA RESULTS KALYAN CHART INDIA MATKA KALYAN SATTA MATKA 420 INDIAN MATKA SATTA KING MATKA FIX JODI FIX FIX FIX SATTA NAMBAR MATKA INDIA SATTA BATTA
SATTA MATKA DPBOSS KALYAN MATKA RESULTS KALYAN CHART KALYAN MATKA MATKA RESULT KALYAN MATKA TIPS SATTA MATKA MATKA COM MATKA PANA JODI TODAY BATTA SATKA MATKA PATTI JODI NUMBER MATKA RESULTS MATKA CHART MATKA JODI SATTA COM INDIA SATTA MATKA MATKA TIPS MATKA WAPKA ALL MATKA RESULT LIVE ONLINE MATKA RESULT KALYAN MATKA RESULT DPBOSS MATKA 143 MAIN MATKA KALYAN MATKA RESULTS KALYAN CHART
KALYAN CHART SATTA MATKA DPBOSS KALYAN MATKA RESULTS KALYAN MATKA MATKA RESULT KALYAN MATKA TIPS SATTA MATKA MATKA COM MATKA PANA JODI TODAY BATTA SATKA MATKA PATTI JODI NUMBER MATKA RESULTS MATKA CHART MATKA JODI SATTA COM INDIA SATTA MATKA MATKA TIPS MATKA WAPKA ALL MATKA RESULT LIVE ONLINE MATKA RESULT KALYAN MATKA RESULT DPBOSS MATKA 143 MAIN MATKA KALYAN MATKA RESULTS KALYAN CHART
3. 1 BUILDING A HUMANE CMS WITH PLONE
1.11.1 Usability Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.11.2 Testing on the Cheap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.11.3 Sample Lessons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.11.4 Thanks! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1 Building a Humane CMS with Plone
1.1 Introduction
1.1.1 Welcome
• Handouts at:
http://plonebootcamps.com/resources/humane.pdf
• Sample product at:
http://plonebootcamps.com/resources/humane.zip
1.1.2 Who Am I?
• Plone developer & consultant
• Developer & Trainer of “Plone Bootcamp”
– 5-day, hands-on integrator-focused class
• Work mostly with large public sites
– Many unsophisticated content editors
1.1.3 Our Inspiration
I could count twenty such
Who strive
To paint a little thing like that you smeared
...
Yet do much less--so much less!
Well, less is more
-- Andrea del Sarto (1486-1531)
3
4. 1.2 Adding the Right Type 1 BUILDING A HUMANE CMS WITH PLONE
1.1.4 Background
• Consulting engagement to test Plone usability
– Classic videocamera & tasks setup
– Data compiled by external UI consultant
• Formal study done for a 2.5 site
– 3.0 information is less formal (so far!)
1.1.5 Profile
• Incidental to semi-regular content contributor
– Won’t learn much about Plone
– Won’t do often enough to remember everything
– Ease of use over “bells and whistles”
1.1.6 Goals
• Fewer options for content placement
• Correct choices about content types
• Power user options just for power users
• Less geekish complexity
• Sane workflow/security
• Consistency in UI & methods
1.2 Adding the Right Type
1.2.1 Specialized Factory Forms
• “Make more like me”
– On a piece of content have a link to “Make New ___ Item”
• You can create content-creation links:
/folder/createObject?type_name=My+Type
4
5. 1.2 Adding the Right Type 1 BUILDING A HUMANE CMS WITH PLONE
1.2.2 Specialized Factory Forms
• newsitem_additional portlet
<dl class=quot;portletquot; metal:define-macro=quot;portletquot;
tal:define=quot;newsfolder nocall: portal/newsquot;
tal:condition=quot;python:
checkPermission(’Add portal content’, newsfolder)
and checkPermission(’ATContentTypes: Add News Item’, newsfolder)quot;>
<dt class=quot;portletHeaderquot;>News Item</dt>
<dd class=quot;portletItemquot;>
<form tal:attributes=quot;action string:$portal_url/newsquot;>
<input class=quot;standalonequot; type=quot;submitquot; value=quot;Add News Itemquot; />
<input type=quot;hiddenquot; name=quot;type_namequot; value=quot;News Itemquot; />
</form>
</dd>
</dl>
1.2.3 Obvious Choice for Content Types
• Give things the “right” title
– Can rename title of type without problem
Once you re-title a content type, you should reindex the catalog.
It is possible for this not work well; add-on products can make hard-wired assumptions
about the title of the content type, but this is bad behavior.
As developers, you should only write queries/code that deal with portal_type, not with
Type.
– Can re-use title of type; don’t have to be unique across site
• Don’t forget to update description
– Used in mouseovers and factory forms
1.2.4 Same Thing; Different Name
• Users find “File” confusing
– Make separate types:
∗ Word Document
∗ Powerpoint Document
∗ PDF Document
• This “fits peoples brains”
– Plus, allows separate searching
5
6. 1.3 Content Creation 1 BUILDING A HUMANE CMS WITH PLONE
1.2.5 What Users Guessed
• For Powerpoint file:
– Event (it’s a presentation)
– News Item (it’s newsworthy)
– Image (there are graphics in it)
– Folder (it has lots of slides)
– Page (are slides pages?)
– File (phew!)
1.3 Content Creation
1.3.1 How to Structure Site
• Member’s folder:
http://site.org/Members/joel/project-a
– “My Documents” feeling
– Bad URLs
∗ What happens when ownership moves?
· Wrong location or broken URL
– Useful for community sites
1.3.2 How to Structure Site (2)
• Folder of like content:
http://site.org/events/party
– Requires users to have permissions here
– Useful when one person/department manages items of that type
1.3.3 How To Structure Site (3)
• By project / authority:
http://college.edu/chemistry
http://college.edu/biology
– Location should follow security
– Generally, the most useful
– Type-specific folders within:
http://college.edu/chemistry/events/party
6
7. 1.3 Content Creation 1 BUILDING A HUMANE CMS WITH PLONE
1.3.4 Content in the Right Place
• Restrict what’s addable in folders using “restrict...”
– Use the preferred/not-preferred
∗ Also gives help via factory form
1.3.5 Content in the Right Place (2)
• Restricting what’s addable techniques
– In the ZMI
– In Install.py
– In GS (using setupVarious technique)
∗ Cannot be done now in .xml files
1.3.6 Content in the Right Place (3)
• Create specialized folder types
– Cloning type in portal_types
∗ Fast and easy
∗ Can be done in GS with types.xml
– Creating new Archetype based on other
∗ More flexible for future
• “Staff Directory” is clone of “Folder”
1.3.7 Content in the Right Place (4)
• Specialized folder types techniques
– Cloning
∗ In ZMI portal_types
∗ GenericSetup
1.3.8 Composition
• Bookstores hold only books
• Books are held only in libraries
Bookstore Book
7
8. 1.4 Editing Content 1 BUILDING A HUMANE CMS WITH PLONE
1.3.9 Composition Details
• Creates folder/contained setup
– Ensures folder is folder
– Folder holds just child
– Child only addable in folder
• “Composition”
– Black diamond points to parent
1.3.10 Only Folderish Things At Top
• Nothing but folders (& smart folders) at root
– Well-organized
– Models good behavior
• Can change in portal_types/Portal
– Can be done in GS with types.xml
1.3.11 Removing “My Folder”
• Few sites really want user folders
– Confusing to leave them around
– Become a magnet for junk
• Just delete “Members” folder
– In Plone 3, controlled by “Enable User Folders” in Security control panel
1.4 Editing Content
1.4.1 Edit Forms: General
• Avoid multiselect boxes
– Many people don’t know how to select multiple
– List of checkbox is much better
– If multiselects are required, explain how to select multiple
8
9. 1.4 Editing Content 1 BUILDING A HUMANE CMS WITH PLONE
1.4.2 Getting Checkboxes
• In your Archetype UML, for multiselect field:
widget:format = checkbox # default is quot;selectquot;
1.4.3 Explaining Multiselect
• In your Archetype UML:
widget:description =
Hold control CONTROL (Mac users: COMMAND) to select
multiple items
1.4.4 Edit Forms: Dates
• People hate the drop-down menus
– Slower, limited range of dates
– Replace with add-on product, DateBox
∗ Allows textual entry in any form
∗ Plus ideas like “yesterday”
∗ Immediately turns into canonical format
1.4.5 Edit Forms: Keywords
• Most useful organizational tool
– But underused
• Move keywords onto edit form
– Call “tags”
I’ve found that the term “keyword” seems scary to people, but calling this “tags” seems
more friendly.
– Use AddRemoveWidget
1.4.6 Keywords vs Categories
• Early to tell for sure, but ...
– People find “categories” confusing
∗ Suggests a structured taxonomy
∗ With a single place
– “Tags” is probably still best
9
10. 1.4 Editing Content 1 BUILDING A HUMANE CMS WITH PLONE
1.4.7 Renaming “Categories”
• Patch AT’s “subject” field
– See AAAStuff product
• Or handle using i18n tools
– msgid is “label_categories”
1.4.8 Customizing Kupu
• Can customize with XML
• But easier to do in CSS, and easier for upgrading:
#kupu-subscript-button { display: none; }
• In Plone 3, tool allows customization
1.4.9 Remove Buttons from Kupu
• You probably don’t want
– superscript, subscript
– definition lists
– full-screen button
• You might not want
– tables
– left, center, right justify
1.4.10 Kupu Style Menu
• Add classes to kupu menu
– Single best thing you can do for users
• Can add classes per type-of-content:
TextField(’text’,
widget=RichWidget(
parastyles=(
(’div|contactInformation’,’Contact Information’),
(’div|notesToEditors’,’Notes to editors’), ),
),
),
10
11. 1.4 Editing Content 1 BUILDING A HUMANE CMS WITH PLONE
1.4.11 Kupu Drawers and Your Types
• Add new content types to kupu “resource types”
– Otherwise, can’t link to/browse in Kupu
– Folderish things: add to “collection”
– Images/movies with tag(): add to “mediaobjects”
– Everything: add to “linkable”
• In Plone 3, can happen automatically
1.4.12 Click to Edit
• View screens for content allow click-to-edit
– Excellent for power-users doing fast edits
– Sometimes confusing for novice users
∗ Easy to trigger unexpected errors
– Powered by KSS and async JavaScript (AJAX)
1.4.13 Click to Edit Caveats
• Only works with
– Uncustomized Archetype views
– “Plone 3-ified” view templates
∗ Since practically no one did things to anticipate this
• Not (yet) supported for all AT field types
– Missing for float, lines, and others
– Not supported for add-on field types
1.4.14 Oh, the Humanity!
• Early research shows confusing for end-users
– May get better as it gets refined
– Can turn off by turning off at.kss in portal_kss
∗ This loses live validation on edit form, though
∗ Refactoring may allow this to be easier in future
11
12. 1.5 Simplifying Interface 1 BUILDING A HUMANE CMS WITH PLONE
1.4.15 Dependent Items
• Confusing to users that image isn’t “in” document
– Different workflow, separate title, etc.
• RichDocument keeps images/files inside document
1.4.16 Dependent Items
• Can also use kupu’s ReffieldText sets references for images, links
– Can caption images automatically
– With references, can move workflow together, etc.
1.5 Simplifying Interface
1.5.1 Power Users
• The people who everyone turns to
• The people who think they are
• Make a role for it!
– In GS, using rolemap.xml
1.5.2 Undo
• Can be complex to understand
– Seeing all objects listed
– Dependencies of undoing
• Too complex for most users
– And most turn to power users anyway
• Control with “List undoable changes” permission
1.5.3 “Undo” for Other Users
• May find it helpful to keep “undo” in user bar
– People are used to it
– Could point to History tab of item
∗ Or a template pointing toward Power Users
12
13. 1.5 Simplifying Interface 1 BUILDING A HUMANE CMS WITH PLONE
1.5.4 Properties Tab
• “Metadata” versus “data” is weak distinction
• Often entirely ignored
• Move useful things onto edit tab
– Leave esoteric stuff for power users
• Handled in Plone 3
1.5.5 Effective/Expiration Date
• Called “Publishing Date” in Plone 3
– Confuses people that it’s related to “publish” transition
– Suggest changing back to “effective date”
• In general, these confuse most people
– And are not commonly needed
• Recommend: protect with write_permission tied to PowerUser
1.5.6 Display Menu
• Remove skins that won’t be used
– In many cases, only one makes sense
– Change in portal_types for your type
• Control with “Modify view template” permission
1.5.7 Default Page
• Tricky concept for many users
– Often, having a body field for folderish item is easier
• Can turn off with:
def canSetDefaultPage(self):
quot;quot;quot;Disallow setting default page.quot;quot;quot;
return False
13
14. 1.5 Simplifying Interface 1 BUILDING A HUMANE CMS WITH PLONE
1.5.8 Add Menu
• “Restrict” may be not useful
– Especially for a specialized folder type
• Control with “Modify constrain types” permission
• Can turn off with:
def canSetConstrainTypes(self):
quot;quot;quot;Disallow ’restrict’ choicequot;quot;quot;
return False
1.5.9 Actions Menu
• Rename allows people to break links
– Which they often don’t understand
– Make for power users only
∗ Don’t change permission--some products assume rename capabilities
∗ Change in portal_actions.
1.5.10 Cut/Copy/Paste
• People can find confusing
– Allows them to move content
– Non-obvious why you can’t paste into certain places
• Make for power users only
1.5.11 Duplicate
• People often expect “copy” to make a copy
– Not copy to clipboard
• “Duplicate” action is very helpful
– Implemented in humane product
1.5.12 Sharing Tab
• Useful feature, but complex form
– Simplified in Plone 3
• Consider making for power users
• Or, offering simplified sharing tab
– Can only share Owner role
∗ Or, Editor/Contributor/Reader, etc.
14
15. 1.6 Features 1 BUILDING A HUMANE CMS WITH PLONE
1.6 Features
1.6.1 Smart Folders
• Too tricky for ordinary users to make
– Good use for “Power User” role
– Create sample smart folders, users can duplicate & modify
• Smart folders to find forgotten content (ie, never submitted/published)
1.6.2 Smart Folder Criteria
• and / or criteria always confuses people
– Assume this is and/or across predicates
∗ It’s any/all of choices for predicate
• Suggest: change to any / all
– Can change CompareOperators in ATContentType/criteria/selection
∗ Or handle via i18n
1.6.3 Smart Folder Criteria
• Some changes make no sense with all choice
– A single piece of content cannot have multiple
∗ portal_type, workflow, etc.
• Fixing would require adding logic to Smart Folders for this
– Best handled now with training
1.6.4 Smart Folder Dates
• Relative dates have 3-set choices
– “More than” “1 week” “in the past”
∗ Is that older than one week? Or newer?
· Many people get wrong!
• Change to “ago” in ATContentTypes/criteria/dates/RangeOperator
– Or handle in i18n
15
16. 1.6 Features 1 BUILDING A HUMANE CMS WITH PLONE
1.6.5 Show All or Published?
• Show all? Or just published?
• Either confuses people
– “Ack! My private stuff is showing!”
– “Ack! Where’s my personal stuff?”
• Pick your poision
– Showing non-published is usually easier
∗ Especially with color-coded workflow hints
1.6.6 RSS
• Underused by normal users
– Few have dedicated RSS readers
• In-browser RSS readers can simplify
– “Sage” for Firefox
• Dashboards in Plone 3 help, too
1.6.7 Keywords
• Stock sample keywords
– Make private document with starter keywords
• Use PloneKeywordManager to clean up keyword space
1.6.8 Workflow
• Simpler is usually better
– The more steps, the less attention
1.6.9 Simple Workflow
• Simple and trusting
Hide
Pending
Submit Publish
Publish
Draft Published
Hide
• Review portal content given out freely
16
17. 1.7 CMFEditions 1 BUILDING A HUMANE CMS WITH PLONE
1.6.10 Easy to Use Workflows
• Transitions for all stages
– Can publish from hidden, hide from published, etc.
– Fixed in recent Plone
1.6.11 Obvious Workflow Security
• Visible things in private folders are visible
– Our worst security/UI choice
– 90% of my students don’t expect
• Fix or document thoroughly!
1.6.12 Use Workflow At All?
• For intranet/planning sites, may be superfluous
• Can change workflow to single state
– But still shows up in UI
– Can hide menu with:
#statusMenu {display: none; }
– Or can modify template
1.7 CMFEditions
1.7.1 CMFEditions
• Initial studying shows good usability
– “Revision 0” has confused some people
∗ “Revision 1” might be better
• Ensure people understand it’s not time travel
1.8 Iterate
1.8.1 Iterate
• Initial studying shows good usability
– But staging itself is more than most sites need
17
18. 1.9 Consistency of Solutions 1 BUILDING A HUMANE CMS WITH PLONE
1.9 Consistency of Solutions
1.9.1 Smart Folder Where Possible
• Much integration can be done with Smart Folder
– “Collections” in 3.0
• Provides consistent way to express queries
– People can learn once and re-use
1.9.2 Example: EZPortlet
• Proof-of-concept portlet
– Show results of any smart folder
1.9.3 Example: Filtered Smart Folders
• Smart folders with trimming or extending
1.10 Consistency of Appearance
1.10.1 Document Actions
• Print this page, email to friend, etc.
– Moved from top -> bottom in 2.5 -> 3.0
– Switch from icons to text
• 2.5 products/existing skins will still be at top
– Consistency is very important
1.10.2 base_view-based Skin
• movie_view Page Template:
<div metal:define-macro=quot;bodyquot;>
<p>Director:
<i tal:content=quot;context/directorquot;>[Dir]</i>
</p>
<p>Rating:
<b tal:content=quot;context/ratingquot;>[Rating]</b>
</p>
</div>
18
19. 1.10 Consistency of Appearance 1 BUILDING A HUMANE CMS WITH PLONE
1.10.3 base_view Macros
1.10.4 base_view Macros (2)
• header
• body
• footer
– Normally empty
• folderlisting
– Listing of child objects in folders
– Override with empty to prevent this
1.10.5 Another base_view-based Skin
• movie_view Page Template:
<div metal:define-macro=quot;headerquot;>
<h1 tal:content=quot;string:
Movie Info: ${context/Title}quot;>[Title]</h1>
</div>
<div metal:define-macro=quot;footerquot;>
<p>Movie data is from IMDB.</p>
</div>
This example is too simplified: our header macro replaces the entire header, which should contain
the styles to show the print-this-page button and send-to-friend button.
A realistic header replacement should contain:
<h1 tal:content=quot;context/title_or_idquot;
class=quot;documentFirstHeadingquot;>
Title or id
</h1>
19
20. 1.11 Usability Testing 1 BUILDING A HUMANE CMS WITH PLONE
<div metal:use-macro=quot;
context/document_actions/macros/document_actionsquot;>
Document actions (print, sendto etc)
</div>
1.10.6 Consistency of KSS/Field Appearance
• Can output view widget for field
– As opposed to using accessor directly
• Will allow inline editing in Plone 3
– And other advantages of widget
∗ LinkField might show URL as link
1.10.7 base_view Example
• yourtype_view.pt :
<div metal:define-macro=quot;bodyquot;>
<div metal:use-macro=quot;python:
context.widget(’myfield’)quot; />
</div>
1.11 Usability Testing
1.11.1 Usability Testing
• Science of observation
– Not of personal theory :)
• No sustitute for observing unprompted users
1.11.2 Testing on the Cheap
• Don’t need a camera / mirrors / consultant
• Do need a script of tasks
– Keep them the same for all testers
• Do need testers unfamiliar with Plone
• Ask users to explain what they’re thinking
20
21. 1.11 Usability Testing 1 BUILDING A HUMANE CMS WITH PLONE
1.11.3 Sample Lessons
• User being asked to add a Powerpoint file to a 2.5 portal:
Well, I guess I should go into my folder. [Clicks]
I’ll look in contents so I can add it
[Missing quicker add menu]. Powerpoint are
presentations, so I’ll add it as an Event ...
1.11.4 Thanks!
• I’d love your ideas and feedback:
joel@joelburton.com
• Handouts online at:
http://plonebootcamps.com/resources
21