How can I customize Composr without modifying the core files?
Answer
Composr offers a robust override system. Instead of altering the original files, create a parallel structure within _custom directories. For example, to modify site/pages/modules/polls.php, place your customized version in site/pages/modules_custom/polls.php.
The tutorials outline additional information on how to utilise overrides.
How can I embed third-party widgets into my Composr pages?
Answer
Composr supports embedding widgets from various websites, like Google Maps, Vimeo, and YouTube, by simply pasting the URL. For manually embedding widget code, you can paste it into the HTML source view of the WYSIWYG editor or within Comcode html tags if not using the WYSIWYG editor.
What is the difference between blocks and boxes in Composr?
Answer
Boxes are visual elements that provide a container for content, while blocks are functional units that generate and display dynamic content. Although blocks often appear within boxes in the default templates, they are not inherently tied to any visual representation.
Yes, you can style blocks by editing the associated templates and CSS. Templates are typically named after the block they represent. For example, the main_news block uses the BLOCK_MAIN_NEWS.tpl template.
How do I create custom filter forms for my content?
Answer
The main_content_filtering block can help you generate filter forms automatically. You can use it to create a default form and then customize the generated Filtercode string to refine the filtering options. Once satisfied, you can either continue using the block or extract the HTML and modify it further.
Where can I use Filtercode and Selectcode in Composr?
Answer
Filtercode is supported in various blocks, such as main_multi_content, main_gallery_embed, and main_cc_embed. It's also actively used in modules like catalogues, downloads, galleries, members, and news.
Selectcode is supported in blocks and Comcode tags that explicitly mention it, including the main_multi_content block and the if_in_group Comcode tag.
What is the difference between Filtercode and Selectcode?
Answer
Filtercode is used for querying content based on properties and values, while Selectcode is used for directly specifying a list of IDs or categories to include or exclude. Filtercode offers more complex filtering options, while Selectcode is more straightforward for simple selections.
Composr provides two filtering systems: Filtercode and Selectcode.
Filtercode is used for selecting content based on defined filters, such as field values, ratings, or keywords. It utilizes a syntax of comparisons, separated by commas, where each comparison specifies a field and a matching condition.
Selectcode is a simpler syntax for specifying a list of IDs or categories to include or exclude from the results. It uses a comma-separated list of match-specifier tokens, such as individual IDs, ranges, or wildcard characters.
What are blocks in Composr and how can I use them?
Answer
Blocks are dynamic elements that can be inserted into Comcode pages to add interactive and data-bound functionality to your website. They are essentially reusable components that automatically generate content, such as recent forum posts or information about the logged-in user.
You can add blocks to your pages using the block construction assistant, which allows you to select from a list of available blocks, set their parameters, preview them, and generate the necessary Comcode.
How does authentication work with the server-side API?
Answer
Authentication is handled automatically using cookies, similar to regular website requests. If cookies are not feasible, the response parameters device_auth_member_id_cn/device_auth_pass_hashed_cn/device_auth_member_id_vl/device_auth_pass_hashed_vl from the login endpoint can be resent as POST parameters in subsequent requests.
How do I access the server-side API for my mobile app?
Answer
The server-side API can be accessed via HTTP calls to http://yourbaseurl/data/endpoint.php. Results are returned in JSON format. The API utilizes endpoints with a 'hook' name and a 'hook type' categorization. Both REST-style and GET-parameter style requests are supported, with the latter recommended for simplicity.
What is the purpose of the Composr Mobile SDK Toolkit?
Answer
The Toolkit, part of the composr_mobile_sdk addon, aids in mirroring Composr website resources into a mobile app. It includes tools for generating iOS/Android string resources from language files and exporting theme images in a directory structure suitable for iOS/Android app image assets.
To connect to a Composr site, you will need to install the composr_mobile_sdk addon, which is not bundled. This addon provides scripting to generate app assets from the Composr site.
Composr Mobile SDK (CMS SDK) is a toolkit designed for experienced iOS and Android developers to build mobile apps that integrate with a Composr-powered website. It offers both Composr-specific integrations and a collection of standalone utilities for building apps, providing a common base between iOS and Android akin to the PHP and Composr APIs, enabling easier code porting while maintaining a native experience.
Composr follows a rolling release model. This means:
New major/minor versions are released as they are ready.
Patch releases, primarily containing bug fixes, are only released for the latest supported major/minor version branch.
Users are responsible for staying updated to the latest release or applying necessary hotfixes.
This policy allows developers to focus resources on the latest versions and encourages users to leverage the ongoing improvements. You can find the release status on the Composr maintenance status page.
Constructive design feedback is valuable. To provide effective feedback:
Be specific and detailed. Identify particular issues and provide clear examples.
Offer solutions. Suggest improvements or provide mockups demonstrating your ideas.
Avoid vague statements. General comments like "it looks dated" are unhelpful.
Understand design constraints. Consider factors like modularity, generality, feature density, compatibility, performance, and the subjective nature of design.
Directly reporting specific design bugs to the tracker or redesigning Composr interfaces yourself are excellent ways to contribute.
Be comprehensive and self-contained. Provide all necessary information and context for the developers to understand your suggestion.
Focus on widely beneficial features. Esoteric suggestions are less likely to be implemented.
Understand developer constraints. Feature development depends on factors like developer availability, funding, and project strategy.
Consider sponsoring features. Financial contributions can prioritize the development of desired features as it affords developers the time to implement it.