ABC Categories
ABC Categories adds reusable category management to HumHub, helping administrators create structured category systems for directories, listings, spaces, content, maps, badges, events, and other ABC Suite modules that need flexible classification.
ABC Categories is a HumHub module for creating and managing reusable category structures (multi levels) across the ABC Suite. It was originally developed under the working name ABC Cat and renamed to ABC Categories for clearer readability, better marketing, and easier understanding by administrators.
The module provides a central category foundation that can be used by other ABC Suite modules instead of each module creating its own isolated category logic. This makes classification more consistent, easier to maintain, and more flexible across a HumHub platform.
ABC Categories is especially useful for directory-style websites, community portals, local networks, school directories, church directories, tourism platforms, event systems, marketplaces, and knowledge hubs. It can support category trees, listing types, content groups, map layers, badge groups, service types, organizational sectors, and other structured classifications.
Within the ABC Suite ecosystem, ABC Categories helps keep data organized and scalable. A platform may have hundreds or thousands of spaces, listings, events, or content entries, and a clean category structure makes navigation, filtering, searching, and presentation much easier.
The module is intended to become a shared building block for ABC Events, ABC Badges, ABC Ads, ABC Marketplace, and other future ABC Suite modules.
The Module got inspired and started by modifying the AGPL-3.0-or-later version of the Module classified-spaces by Marc Faree but it is now possible to have even up to 6+ levels (recommended 3-4) and you can assign colours to each category and more.
Status: Released.
ABC Categories — Flexible Category Browser for HumHub Spaces
ABC Categories, module ID abccat, turns HumHub Spaces into a structured, searchable, visual directory. It was created because real-world directories often need more than one simple category/subcategory level.
A school directory, church directory, business directory, NGO directory, community portal, tourism platform, or multi-service local platform can easily grow to hundreds or thousands of Spaces. With only two category levels, navigation becomes cramped very quickly. ABC Categories solves that by allowing deeper category trees, visual color guidance, direct category URLs, drag-and-drop sorting, and frontend category browsing optimized for desktop and mobile.
In short: ABC Categories makes large HumHub Space collections usable.
Why ABC Categories exists
HumHub Spaces are powerful, but once a site grows, users need a better way to find things.
A large directory may need structures like:
Education
└── Kindergarten, Nurseries
└── Phuket - Private Nurseries
└── Phuket - Private Kindergartens
└── Krabi - Private Nurseries
Market
└── Used Items
└── Donations
└── Reuse / Recycle
Tourism
└── Activities
└── Accommodation
└── Transport
Two levels are not enough for this kind of structure. ABC Categories supports flexible category levels up to a maximum of 10 levels, while the admin can define how many levels should be allowed on the site. Usually 3 or 4 levels are enough, but larger platforms can go deeper when needed.
This makes ABC Categories especially useful for directory-style HumHub installations with 1,000+ Spaces.
Main Features
1. Flexible category levels
The admin can define the maximum number of category levels in the module configuration.
Default suggestion:
4 levels
Hard maximum:
10 levels
This allows simple sites to stay simple and large directories to grow without needing a new module later.
2. Drag-and-drop category sorting
The backend includes a Category sort tree.
Categories can be moved by drag and drop:
Move up
Move down
Move into another category
Move out as main category
This avoids endless scrolling and complicated edit forms when a directory has many categories.
When you have 100+ categories, drag and drop is not luxury. It is survival.
3. Main categories, subcategories, sub-subcategories and deeper levels
ABC Categories is not limited to one parent and one child level.
You can build structures such as:
Main Category
└── Subcategory
└── Sub-subcategory
└── Level 4 category
The frontend category browser renders these levels recursively, and the backend also shows the category hierarchy clearly.
4. Visual category colors
ABC Categories supports visual helper colors for categories.
You can define global colors for:
Category border color
Category background color
Subcategory border color
Subcategory background color
Each category can also override these global colors individually.
This is very useful when a directory becomes large. Visitors can visually understand where one section ends and another begins, especially on mobile screens.
Example idea:
Nurseries: green left border
Kindergartens: orange left border
International schools: golden right border
Unlicensed or warning categories: red or strong warning color
This makes the category system not only structural, but also visual.
5. Left and right border colors
ABC Categories also supports separate visual marker colors on the left and right side of a category.
This gives two additional visual signals.
Example:
Left border = type of category
Right border = special status
Possible usage:
Green left border = Nurseries
Orange left border = Kindergartens
Golden right border = International
Blue right border = Government
Red right border = Needs attention
The idea is simple: users should understand the directory faster by seeing patterns, not only by reading text.
6. Category logos and space counts
Each category can show a category logo or icon. Below or beside the logo, the number of Spaces in the category is displayed.
This helps visitors immediately see how much content is inside a category.
The category card layout is designed for mobile use:
Logo / icon
Space count
Category title
Description
Actions
The title and description can wrap properly, so long names do not destroy the layout.
7. Direct category URLs
Every category has its own direct frontend URL.
Example:
/cat?id=122
This is important for directories, marketing, administration, and external communication.
Instead of telling somebody:
“Go to the website, open categories, scroll down, open Education, then open Kindergarten…”
you can simply send the direct category link.
8. Copy URL in the backend
The backend category manager includes a Copy URL button for every category.
This means admins do not need to open the frontend first to find the correct category link.
This is especially useful when creating menu items in ABC Menu.
Workflow:
Open ABC Categories admin
Find the category
Click Copy URL
Paste it into ABC Menu
Done
That saves time and avoids mistakes.
9. View button in the backend
Each category row also has a View button.
This opens the category directly in the frontend.
Admins can also right-click the View button and use the browser’s “Copy Link” feature.
This is useful for:
Creating ABC Menu entries
Testing category pages
Sharing direct links
Checking frontend display
10. Three-dot admin menu
Each category row includes a three-dot options menu.
Depending on permissions and context, this can contain actions such as:
Edit category
Create subcategory
Create Space
Delete category
Other category actions
This keeps the backend clean while still offering many management options.
11. Frontend Copy URL button
Visitors can also copy category URLs in the frontend.
This is very useful for:
Sharing a category in chat
Sending a category by email
Reporting a category to authorities
Promoting a category on social media
Linking directly to a useful directory section
For public directories, this is a small button with a big impact.
12. Search and filter options
ABC Categories includes frontend category browser filters similar to the ABC Map / ABC Spaces style.
Depending on available data, filters can include:
Name search
Region group
Country
Province / State
District
Subdistrict
Category
The filters are designed to work on large directories and mobile screens.
A reset button clears the active filters quickly.
13. User group visibility
Categories can be assigned to HumHub user groups.
If a main category is restricted, the restriction is inherited recursively by all subcategories below it.
Example:
Main category visible only to Group A
└── Subcategory also visible only to Group A
└── Sub-subcategory also visible only to Group A
This allows public and private category structures inside the same directory.
Empty group assignment means:
Public / no special group restriction
14. Works perfectly with ABC Menu
ABC Categories and ABC Menu are designed to work together.
ABC Categories creates the structure and direct category pages.
ABC Menu can then link to those pages.
Because ABC Categories provides Copy URL buttons directly in the backend, building a menu becomes fast:
Create or organize category
Copy category URL
Paste into ABC Menu
Reuse similar colors
Create a clean directory navigation
The color values used in ABC Categories can also be reused in ABC Menu, so the navigation and category browser can visually match.
This is especially useful for larger portals where the menu should open important categories directly.
15. Works well with ABC Banner
ABC Categories no longer needs its own advertising row.
For banners, promotions, sponsors, or marketing areas, use ABC Banner instead. ABC Banner is more flexible and better suited for modern banner placement across HumHub sites.
ABC Categories now stays focused on what it does best:
Category structure
Category browsing
Category URLs
Directory navigation
Visual category organization
Installation
Fresh installation
-
Upload the
abccatmodule folder to:
/protected/modules/abccat
-
Go to HumHub administration.
-
Enable ABC Categories.
-
Open the module configuration:
/abccat/config/index
-
Configure the public path segment.
Default:
cat
This means category pages use:
/cat
You may change it to something else, for example:
dir
directory
categories
-
Define the maximum category levels.
Recommended for most sites:
3 or 4
-
Configure the category browser display, filters, and styling.
-
Start creating categories.
Migration from classified-spaces
ABC Categories was originally developed from the idea of classified-spaces, but it is now an independent ABC Suite module with its own naming and database tables.
Old tables:
classified_space_category
classified_space
New ABC Categories tables:
abccat_space_category
abccat_space
Recommended migration process:
1. Install abccat
2. Configure abccat
3. Import/copy data from classified-spaces into abccat
4. Check the imported categories and Space assignments
5. Test the frontend category browser
6. Disable/uninstall classified-spaces only after confirming everything works
Important warning:
The old classified-spaces module may delete its old category tables when it is disabled or uninstalled. Always import and verify the data first.
ABC Categories includes import safety checks to avoid accidentally copying into non-empty tables and creating inconsistent data.
How to use ABC Categories
Step 1 — Open category management
Go to:
/abccat/admin/index
This is the main backend page for managing categories.
Here you can:
Create categories
Create subcategories
Sort by drag and drop
Copy URLs
View category pages
Edit colors
Assign visibility groups
Manage category hierarchy
Step 2 — Create a main category
Click Create.
Enter:
Title
Description
Logo / icon
Parent category if needed
Color settings
Visibility groups if needed
Leave the parent category empty if it should be a main category.
Step 3 — Create subcategories
To create a subcategory, either:
Use the three-dot menu of a category
or edit the category and assign a parent category.
ABC Categories prevents invalid category trees, such as:
A category becoming its own parent
Circular category trees
Moving a category deeper than the allowed level
Step 4 — Sort categories by drag and drop
Use the Category sort tree.
You can drag categories:
Above another category
Below another category
Into another category
Changes are saved automatically.
This is especially helpful when managing large category structures.
Step 5 — Assign Spaces to categories
Spaces can be assigned to categories through the category management and related Space/category tools.
Once assigned, the Spaces appear inside the frontend category browser.
The category count updates to show how many Spaces are inside each category.
Parent categories can include counts from child categories, making it easier to understand how much content is below a main section.
Step 6 — Style the category visually
Use global styling for all categories:
Category border color
Category background color
Subcategory border color
Subcategory background color
Then override individual categories where needed:
Custom border color
Custom background color
Left border color
Right border color
This turns the category browser into a visual navigation system.
Step 7 — Copy category URLs
In the backend, use:
Copy URL
or:
View → right-click → Copy Link
In the frontend, visitors can also copy the category URL.
This makes ABC Categories very useful for:
Marketing
Reports
Authority communication
Customer support
Social media sharing
ABC Menu setup
Practical example: building a large directory
A Phuket directory may contain many different types of Spaces:
Schools
Nurseries
Kindergartens
Churches
Markets
Events
Jobs
Recycling points
Tourism services
Community projects
With ABC Categories, this can become a structured directory:
10 Education
└── 11 Children Shelters, Orphanages + School
└── 12 Kindergarten, Nurseries
└── 01 Phuket - Private Nurseries
└── 02 Phuket - Private Kindergartens
└── 03 Phuket - Public Nurseries
└── 11 Krabi - Private Nurseries
└── 13 Schools, Tutoring
Each section can have:
Its own icon
Its own color
Its own direct URL
Its own Space count
Its own group visibility
Its own position in the sort tree
This makes even very large HumHub installations easier to navigate.
Suggested workflow with ABC Menu
ABC Categories and ABC Menu together are powerful.
A good workflow:
1. Build the category structure in ABC Categories
2. Assign colors and visual borders
3. Sort the categories by drag and drop
4. Copy important category URLs
5. Create matching menu items in ABC Menu
6. Reuse the same colors in ABC Menu
7. Let users open direct category pages from the main navigation
This creates a fast, clean, directory-style user experience.
Suggested workflow with ABC Banner
Use ABC Banner for:
Sponsors
Featured listings
Promotions
Directory advertising
Campaign banners
Use ABC Categories for:
Structure
Search
Filtering
Category browsing
Direct category pages
This keeps each module clean and focused.
Mobile-first design
ABC Categories was built with mobile use in mind.
The frontend category layout avoids table-style structures and instead uses flexible panels.
On mobile, the layout focuses on:
Readable titles
Readable descriptions
Compact icons
Visible Space counts
Small action buttons
Copy URL access
Minimal indentation
Clear visual borders
Large directories must work on phones, because many users will open links from chat apps, social media, or mobile search results.
Accessibility and usability
ABC Categories includes accessible form labels and search/filter structures.
Dropdowns and filters are designed to be understandable, not just visually compact.
The goal is that visitors can use the category browser without guessing what each dropdown does.
This is important because many regions increasingly require public web applications to be usable and accessible.
Best practices
Keep category levels logical
Do not use 10 levels just because 10 levels are possible.
For most directories:
3 or 4 levels are enough
Use deeper levels only when the structure really needs them.
Use colors consistently
Colors are most helpful when they mean something.
Example:
Green = licensed / verified
Orange = kindergarten / early childhood
Blue = school / education
Gold = international
Red = warning / attention needed
If every category gets a random color, the visual system becomes decoration. If colors are consistent, they become information.
Use direct URLs
Direct category URLs are one of the strongest features.
Use them for:
ABC Menu
News posts
Social media
Emails
Reports
Authority communication
Marketing pages
A good category URL saves time for everyone.
Use group visibility carefully
Group visibility is powerful.
Use it for categories that should only be visible to certain user groups.
Example:
Internal categories
Member-only categories
Partner-only categories
Admin-review categories
Remember: restrictions on a parent category apply recursively to child categories.
Summary
ABC Categories is a flexible category and directory browser for HumHub Spaces.
It is built for real-world platforms that need more than simple two-level categories.
It supports:
Up to 10 category levels
Drag-and-drop sorting
Direct category URLs
Backend Copy URL buttons
Frontend Copy URL buttons
Category logos
Space counts
Search and filters
Group visibility
Global and per-category colors
Left and right border markers
Mobile-friendly category browsing
Integration with ABC Menu
Clean separation from ABC Banner
For small sites, it keeps categories simple.
For large sites with 1,000+ Spaces, it becomes the backbone of a structured directory system.