Featured Sites: A-Z Index

H


Newest 10 Entries

Question How can I ensure my website complies with email marketing laws?
Answer Email marketing laws like CAN-SPAM protect recipients' rights to unsubscribe. Your website must include a clear 'List-Unsubscribe' header in every email, offer an easy unsubscribe process, and respect unsubscribe requests promptly. Composr provides built-in mechanisms, including an unsubscribe endpoint and support for the List-Unsubscribe header, to facilitate compliance.
Question What are my responsibilities regarding user privacy?
Answer You must have a comprehensive privacy policy that details the personal data you collect, its usage, and if it's shared with third parties. Laws like GDPR have strict requirements, including logging data access, data purging, and security measures. California law mandates specific elements in your policy, like handling "Do Not Track" requests and a clear process for communicating changes.

Composr has an automatic Privacy Policy generator block to help you get started. This is used by default.
Question How can I create effective website rules?
Answer A well-defined rules page is crucial for setting expectations for user behavior and outlining consequences for violations. It should cover a range of offenses with appropriate punishments, reference relevant laws, and assign legal responsibility to users. Composr provides default rules pages that can be customized, and this page is displayed to users upon joining the site.
Question What are the key legal considerations for running a website?
Answer Several legal aspects need careful attention when operating a website, especially for large or corporate sites. These include establishing clear rules and terms of service, adhering to privacy laws like GDPR and California's regulations, managing personal data responsibly, complying with email marketing regulations like CAN-SPAM, ensuring website accessibility, addressing eCommerce regulations, and understanding liability for content and user actions.
Question How do data-tpl and data-view behaviors work in Composr's JavaScript?
Answer Composr uses data-tpl and data-view behaviors for associating HTML templates and JavaScript views, respectively. This facilitates clean separation of presentation and logic:
  • data-tpl: Used with the $cms.behaviors.initializeTemplates function and PARAMS_JSON tempcode directive to bind JavaScript logic to HTML templates.
  • data-view: Used with the $cms.behaviors.initializeViews function to associate JavaScript view classes (inheriting from $cms.View) with specific HTML elements.
Question What are the advantages of using Composr's JavaScript libraries?
Answer Composr's JavaScript libraries like $cms, $util, and $dom offer several advantages:
  • Organization: They provide a structured way to access Composr-specific functionalities, avoiding global namespace pollution.
  • Abstraction: They encapsulate common tasks, simplifying DOM manipulation, form handling, and interaction with Composr's UI.
  • Consistency: They offer a consistent API across different parts of Composr.
Question How does Composr implement the Model-View-Controller (MVC) pattern?
Answer
  • Model/API: The sources directory primarily houses scripts forming the Model/API, handling data logic and business rules.
  • View: Templates in themes/default/templates represent the View, responsible for presenting data to the user. Comcode pages can also be considered part of the View.
  • Controller: Entry scripts like index.php and site/dload.php act as front controllers, directing requests. Modules and blocks, residing in */pages/modules and sources/[mini]blocks, respectively, serve as controllers, managing user interactions and determining which View to render.
Question Can I translate my content into multiple languages?
Answer Yes, Composr supports multi-language content. You can enable this feature by:
  • Installing multiple language packs: Make sure you have at least two language packs installed.
  • Enabling the Conversr multi-language option: Go to Admin Zone > Setup > Configuration > Site options > Internationalisation.
  • Running a Commandr command: Execute the necessary command to set up the database structure for multi-language content (unless you already enabled Support content translations when installing).
Once enabled, you can translate your content into different languages and allow visitors to choose their preferred language.
Question My language uses gendered descriptors. How can I handle this in Composr?
Answer Composr offers solutions for languages with gendered descriptors:
  • Template editing: You can modify templates to use different language strings based on user gender. This involves adding Tempcode logic to dynamically select the appropriate string.
  • Custom Profile Fields: Create a Custom Profile Field for "Gender" and use it to conditionally display gendered language strings in templates.
These methods allow for flexible handling of gendered language variations.
Question What are language strings, and how are they used?
Answer Language strings are phrases or pieces of text used throughout Composr. They're identified by unique codenames, like WELCOME_MESSAGE. These strings are stored in .ini language files and used to display text in the user interface.

By translating language strings, you change the text displayed on your website without modifying the underlying code.

Top 10 Entries

Question How do I set up the forum base URL correctly?
Answer The forum base URL should be a URL prefix to your forums without a script name. For example, http://forums.example.com is correct, while http://forums.example.com/index.php is incorrect. You can fix this using the config_editor.php script and then clear the Comcode page cache.
Question How do comment topics work?
Answer Most Composr resources with commenting enabled create comment topics in the configured comment forum. If the forum uses BBCode, Comcode features not supported by BBCode may not display correctly. Moderate comments from the forum as you would any other topic.
Question Can I switch forums after installing Composr?
Answer It's not easy to switch forums after installing Composr. The member and usergroup IDs referenced by Composr would lose their association. Check the "Importing data into Composr" tutorial for more information on this.
Question What is Conversr and why is it recommended?
Answer Conversr is Composr's built-in forum system. It offers seamless integration, allowing you to use Comcode for forum posts, a unified Admin Zone, shared themes and templates, and innovative features like Private Topics and in-post whispers. Using a third-party forum can be clunky and may lead to maintenance headaches.
Question What forum drivers does Composr support?
Answer Composr supports several forum drivers, including Invision Board, phpBB, myBB, vBulletin, Burning Board, and Simple Machine Forum. If your forum is not listed, professional developers can add support. Composr also provides converters for migrating from these forums to its own forum system, Conversr.
Question What are the web server requirements for running Composr?
Answer Composr is compatible with Apache and IIS servers.

For Apache:
  • Enable mod_rewrite for URL Schemes or URL Redirects.
  • Ensure AllowOverride All or at least AllowOverride Options FileInfo Limit is set in the server configuration.
  • Recommended modules for optimal performance include mod_headers, mod_setenvif, mod_env, mod_deflate, and mod_filter.

For IIS:
  • Don't disable default Feature Delegation for settings changed in the bundled web.config file.
  • Install the URL Rewrite module, essential for URL Schemes, URL Redirects, and basic security.
  • Configure IIS for additional mime-types if needed, as it doesn't serve unrecognized file types by default.
Question What are the PHP requirements for running Composr?
Answer Composr requires PHP 7.2 or higher, but versions not officially supported by PHP developers are discouraged. The maximum tested version is PHP 8.3.

Required PHP extensions:
  • GD2 (gd) with PNG and JPEG support
  • MySQL extension (mysqli or pdo_mysql)
  • XML extension (xml)
  • Multibyte String (mbstring)
  • cURL extension (curl)
  • JSON support (usually available by default)
  • Sodium (libsodium)
  • ZIP extension (zip) if ZIP file support is needed

Additional recommendations:
  • posix extension for permission checks
  • zlib extension for faster upgrades, compressed backups, and page compression
  • ctype extension for slightly faster performance
  • IMAP extension (imap) for managing newsletter bounces
  • OpenSSL extension (openssl) for encrypted CPFs, DKIM, and SSL certificate expiry checks
  • Pspell (pspell) or Enchant (enchant) extensions for spell checking

Ensure the following PHP settings are configured:
  • File upload size limit of at least 5MB (or higher as needed)
  • Maximum execution time of at least 30 seconds
  • Memory limit of at least 128MB
  • The installer will warn you if any critical functions have been disabled via disable_functions or other PHP modifications. Avoid web hosts that heavily restrict standard PHP functionality.
Question How do I uninstall Composr?
Answer To uninstall Composr, access the uninstall.php file in your web browser, enter your administrator password, and follow the prompts to remove the database data. Afterward, you can safely delete the Composr installation directory.
Question What are the recommended web hosting options for Composr?
Answer Choosing a web host is crucial. Avoid the cheapest options and look for hosts with recent positive reviews and minimal credible complaints. Ensure they meet Composr's requirements, including adequate disk space, no restrictive file size limits, and support for required PHP extensions.

Composr is compatible with various hosting control panels like Plesk and cPanel, and works on Windows, Linux, or Mac OS servers.
Question Can I install Composr on a Windows desktop?
Answer Yes, you can install Composr on a Windows desktop using software packages like WampServer, XAMPP, EasyPHP, or ampps for simplified setup. Alternatively, you can manually install Apache, PHP, and MySQL, following the instructions provided in the respective documentation. Remember to configure file permissions appropriately and ensure the webserver isn't accessible from outside your network.