 #  Module - Cool Clock Documentation 

 

- Extension Page: [Module - CoolClock](/software/joomla/modules/module-coolclock)

## Quick Start

**Get a clock running in under 2 minutes:**

1. Install mod\_coolclock through Joomla's extension manager
2. Create a new module: Extensions → Modules → New → CoolClock
3. Select a skin from the dropdown (default: swissRail)
4. Assign to a module position
5. Save and view your site
 
That's it. You now have a fully functional analog clock.

## Basic Configuration

### Basic Tab

The Basic tab provides core clock functionality with real-time preview:

**Skin Selection**

- Choose from 27 pre-built skins or create your own custom skin
- Preview updates immediately as you select different skins
- See [Skin Gallery](#skin-gallery) for visual examples
 
**Display Options**

*Show Second Hand*

- Toggle the second hand on/off
- Default: Enabled
- Useful for minimalist displays or reduced animation
 
*Show AM/PM*

- Display AM/PM indicator within the clock face
- Default: Disabled
- Position: Below center, unobtrusive design
- Particularly useful for 12-hour time display contexts
 
*Smooth Second Hand*

- Enable smooth sweep motion vs. tick motion
- Default: Enabled
- Smooth motion uses requestAnimationFrame for 60fps animation
- Disable for classic clock behavior
 
**Time Settings**

*Timezone*

- Select any global timezone
- Default: Site default timezone
- Server converts timezone to GMT offset automatically
- Essential for multi-timezone displays
 
*NTP Sync*

- Enable network time synchronization
- Default: Disabled
- Ensures clock accuracy by syncing with server time
- See [NTP Time Synchronization](#ntp-time-synchronization) for details
 
## Skin Gallery

mod\_coolclock includes 27 professionally designed skins across three categories:

### Classic Skins (Original CoolClock)

**swissRail** (default) Clean, minimalist design inspired by Swiss railway clocks. Black hands, red second hand, simple tick marks.

**chunkySwiss** Bold version of swissRail with thicker hands and more prominent markers.

**chunkySwissOnBlack** High-contrast version with white elements on black background.

**fancy** Ornate design with decorative elements and styled numerals.

**machine** Industrial aesthetic with mechanical-inspired details.

### Community Skins

**classic** (bonstio.net) Traditional analog clock design with Roman numerals.

**modern** (bonstio.net) Contemporary minimalist approach with geometric precision.

**simple** (bonstio.net) Ultra-minimal design, perfect for professional sites.

**securephp** (securephp) Security-themed design with unique color palette.

**Tes2** (securephp) Alternative security-inspired aesthetic.

**Lev, Sand, Sun, Tor, Cold, Babosa, Tumb, Stone, Disc** Community-contributed designs offering diverse visual styles.

### New Modern Skins

**minimal** Ultra-clean design with subtle gray accents. White face, thin markers, red second hand. Perfect for modern web design.

**dark** Dark mode optimized. Black face (`#1a1a1a`), white hands, cyan second hand. Ideal for dark-themed sites.

**neon** Cyberpunk aesthetic. Black background with magenta/cyan neon colors. High visual impact.

**ocean** Calming blue theme. Light blue face with navy accents. Professional yet distinctive.

**sunset** Warm orange/amber palette. Cream background with sunset-inspired colors. Inviting and energetic.

**forest** Natural green theme. Soft background with deep forest greens. Organic and grounded.

**luxury** Premium gold aesthetic. Black background with gold accents. Elegant and sophisticated.

**retro** Vintage-inspired design. Cream background with burnt orange and warm browns. Nostalgic appeal.

**customSkin** Build your own - see [Custom Skin Editor](#custom-skin-editor)

## Custom Skin Editor

The Custom Skin Editor provides visual, real-time customization of every clock element.

### Access

Navigate to the **Custom** tab in module configuration. You'll see:

- Live preview canvas (second hand and AM/PM always enabled)
- Visual controls for all clock elements
- Direct JSON editing for advanced users
 
### Customizable Elements

**Face Background**

- Enable/disable background fill
- Color picker for background color
- Opacity slider (0.0 - 1.0)
- Creates solid or semi-transparent clock face
 
**Face Border**

- Enable/disable outer border
- Color selection
- Border width (0-10 pixels)
- Border radius (0-100, affects roundness)
- Opacity control
- Use radius to create circular or square clock faces
 
**Hour Markers**

- Enable/disable tick marks
- Single color for all markers
- Small marker width (1-8 pixels) - used for minute marks
- Large marker width (1-12 pixels) - used for hour marks
- Start position (radius percentage)
- End position (radius percentage)
- Customize marker length by adjusting start/end values
 
**Hour Hand**

- Color selection
- Line width (1-10 pixels)
- Hand length (0-95% of radius)
- Tail length (0-30% behind center)
- Longer tails create balanced, traditional look
 
**Minute Hand**

- Independent color control
- Line width (1-10 pixels)
- Length (0-95% of radius)
- Tail length (0-30% behind center)
- Typically longer than hour hand
 
**Second Hand**

- Color selection (often red for visibility)
- Line width (1-10 pixels)
- Length (0-95% of radius)
- Tail length (0-30% behind center)
- Can extend past minute hand for classic look
 
**Center Dot**

- Enable/disable center decoration
- Color selection
- Radius (0-10 pixels)
- Covers hand pivot point for clean appearance
 
### Advanced JSON Editing

For precise control, directly edit the JSON configuration:

1. Make changes using visual controls to generate base JSON
2. Copy JSON from the Custom Skin textarea
3. Modify values directly (colors, positions, alpha values)
4. Paste back into Custom Skin textarea
5. Save module to apply changes
 
**Note:** Any changes to visual controls will regenerate JSON, overwriting manual edits. Make visual changes first, then fine-tune in JSON as a final step.

**Example Custom Skin JSON:**

json

 ```
<span><span>{</span>
</span><span>  <span>"face"</span><span>:</span> <span>{</span>
</span><span>    <span>"radius"</span><span>:</span> <span>100</span><span>,</span>
</span><span>    <span>"fillColor"</span><span>:</span> <span>"#ffffff"</span><span>,</span>
</span><span>    <span>"alpha"</span><span>:</span> <span>1</span>
</span><span>  <span>}</span><span>,</span>
</span><span>  <span>"outerBorder"</span><span>:</span> <span>{</span>
</span><span>    <span>"lineWidth"</span><span>:</span> <span>2</span><span>,</span>
</span><span>    <span>"radius"</span><span>:</span> <span>95</span><span>,</span>
</span><span>    <span>"color"</span><span>:</span> <span>"#000000"</span><span>,</span>
</span><span>    <span>"alpha"</span><span>:</span> <span>1</span>
</span><span>  <span>}</span><span>,</span>
</span><span>  <span>"hourHand"</span><span>:</span> <span>{</span>
</span><span>    <span>"lineWidth"</span><span>:</span> <span>6</span><span>,</span>
</span><span>    <span>"startAt"</span><span>:</span> <span>-10</span><span>,</span>
</span><span>    <span>"endAt"</span><span>:</span> <span>50</span><span>,</span>
</span><span>    <span>"color"</span><span>:</span> <span>"#333333"</span><span>,</span>
</span><span>    <span>"alpha"</span><span>:</span> <span>1</span><span>,</span>
</span><span>    <span>"lineCap"</span><span>:</span> <span>"round"</span>
</span><span>  <span>}</span>
</span><span><span>}</span></span>
```

 

 

## Logo Embedding

Add text, images, or SVG graphics to your clock face for branding, timezone labels, or decorative purposes.

### Access

Navigate to the **Logo** tab in module configuration.

### Logo Types

**Text Logo** Perfect for timezone labels, company names, or location identifiers.

- **Text:** Enter any text content
- **Font Size:** 1-100 pixels
- **Color:** Color picker for text color
- **Font Family:** Any web-safe or loaded font (e.g., Arial, Georgia, custom fonts)
- **Font Weight:** Normal, Bold, Bolder, Lighter
- **Position:** X,Y coordinates relative to center (e.g., "0,-50")
 
**URL Image** Load images from local server or remote URLs.

- **Image Source:** Full URL to image file 
    - Local: `/images/logos/company-logo.png`
    - Remote: `https://example.com/logo.png`
    - Data URLs supported: `data:image/png;base64,...`
- **Width:** Image width as percentage of clock radius (1-100)
- **Height:** Image height as percentage of clock radius (1-100)
- **Position:** X,Y coordinates relative to center
 
**SVG Graphics** Paste SVG markup directly for scalable, resolution-independent graphics.

- **SVG Content:** Paste complete SVG markup
- **Width:** Display width as percentage of clock radius (1-100)
- **Height:** Display height as percentage of clock radius (1-100)
- **Position:** X,Y coordinates relative to center
 
### Positioning

Logo position uses X,Y coordinates relative to the clock center:

- **0,0** = Center of clock
- **0,-50** = Above center (common for timezone labels)
- **0,50** = Below center
- **-40,0** = Left of center
- **40,0** = Right of center
 
Experiment with values to achieve desired placement. Preview updates in real-time.

### Advanced Technique: Custom Clock Faces

Use image or SVG logos scaled to clock size to create elaborate custom clock faces:

1. Create or source a decorative clock face image (circular, 400x400px recommended)
2. Set logo type to URL or SVG
3. Set width and height to cover entire clock (e.g., 200,200)
4. Position at center: "0,0"
5. Use transparent or semi-transparent background
6. Layer behind hands using alpha/opacity
 
This technique allows unlimited visual customization while maintaining functional clock hands.

## NTP Time Synchronization

Ensures clock accuracy by synchronizing with server time rather than relying on visitor's local system clock.

### How It Works

When NTP Sync is enabled:

1. Module makes AJAX request to your Joomla server
2. Extracts `Date` header from HTTP response
3. Calculates offset between server time and browser time
4. Applies offset to all time calculations
5. Sets cookie to prevent repeated requests (reduces server load)
 
**No external dependencies.** No third-party NTP services. No API keys. Just your server's time.

### When to Enable

**Essential for:**

- Financial applications (accurate timestamps)
- Booking systems (prevent timezone confusion)
- Auction sites (precise countdown synchronization)
- Multi-timezone corporate sites (consistent time display)
- Any situation where accuracy matters
 
**Less critical for:**

- Decorative clocks
- Personal blogs
- Non-time-sensitive content
 
### Server Requirements

Your server must be NTP synchronized for this feature to provide accurate time. Most hosting providers sync servers automatically, but verify with your host if accuracy is critical.

### Performance

Cookie-based caching means time sync occurs once per visitor session, not on every page load. Performance impact is negligible.

## Advanced Use Cases

### Multi-Timezone Display

**Scenario:** Display current time at multiple office locations.

**Implementation:**

1. Create one clock module per timezone
2. Configure each with appropriate timezone (New York, London, Dubai, Tokyo)
3. Use text logo to label each clock with city name
4. Position: "0,-50" to place city name above clock center
5. Assign all modules to same position or create custom layout
 
**Result:** Visitors instantly see current time at all your locations.

**Styling tip:** Use consistent skin across all clocks for cohesive appearance. Consider `modern` or `minimal` for professional multi-timezone displays.

### Corporate Branding

**Scenario:** Match clock to corporate brand identity.

**Implementation:**

1. Use Custom Skin Editor to match brand colors
2. Add company logo using Logo feature
3. Position logo at top of clock face: "0,-60"
4. For subtle branding, use semi-transparent logo (alpha: 0.6)
5. Enable smooth second hand for premium feel
 
**Result:** Branded timekeeping element that reinforces company identity.

### Decorative Clock Faces

**Scenario:** Create unique, artistic clock displays.

**Implementation:**

1. Design custom clock face in graphics software (PNG with transparency)
2. Upload to server: `/images/clockfaces/custom-design.png`
3. Create clock with `minimal` skin (provides clean hands without distracting face elements)
4. Add URL logo pointing to your custom face image
5. Scale logo to cover clock area: width/height = 180-200% of radius
6. Position at center: "0,0"
7. Fine-tune hand colors to complement custom face
 
**Result:** Unlimited creative possibilities while maintaining functional analog clock.

### Booking System Integration

**Scenario:** Show current time to prevent booking confusion.

**Implementation:**

1. Enable NTP Sync for accuracy
2. Position clock prominently near booking form
3. Use timezone matching booking system's configured timezone
4. Consider `luxury` or `dark` skin for sophistication
5. Add text logo indicating timezone: "EST" or "UTC"
 
**Result:** Users see accurate time in booking timezone, reducing errors and support requests.

## Technical Reference

### Browser Compatibility

**Supported Browsers:**

- Chrome/Edge 90+
- Firefox 88+
- Safari 14+
- Opera 76+
 
**Technologies Used:**

- Canvas API (HTML5)
- RequestAnimationFrame
- IntersectionObserver (for performance)
- ResizeObserver (for responsive sizing)
 
### Performance Features

**Intelligent Rendering** Clock automatically pauses when not visible (using IntersectionObserver). Resumes when scrolled into view. Eliminates unnecessary rendering cycles.

**Responsive Sizing** Automatic DPI scaling for retina displays. Canvas resolution adjusts based on device pixel ratio for crisp rendering.

**Smooth Animation** Uses `requestAnimationFrame` for 60fps second hand animation when smooth mode enabled. Browser-optimized timing prevents jank.

### Parameter Reference

**Basic Parameters:**

- `skin` (string): Selected skin name or 'customSkin'
- `showSecondHand` (boolean): Display second hand
- `showAMPM` (boolean): Display AM/PM indicator
- `gmtOffset` (float): Timezone offset in hours
- `smoothSecondHand` (boolean): Enable smooth sweep animation
- `useNTP` (boolean): Enable time synchronization
 
**Custom Skin Parameters:** All custom skin builder values stored in `customSkin` JSON parameter.

**Logo Parameters:**

- `logoType` (string): 'text', 'url', 'svg', or empty
- Logo-specific parameters based on type
- All values stored in `logo` JSON parameter
 
### Joomla Version Support

**Fully Compatible:**

- Joomla 6.x
- Joomla 5.x
- Joomla 4.x
- Joomla 3.x
 
Uses namespace-based architecture for Joomla 4+ while maintaining backward compatibility with Joomla 3.

## Troubleshooting

### Clock Not Displaying

**Symptom:** Module position shows but no clock appears

**Solutions:**

1. Verify canvas element rendered: Right-click → Inspect, look for `<canvas>` tag
2. Check browser console for JavaScript errors
3. Ensure module is published and assigned to visible position
4. Clear Joomla cache: System → Clear Cache
5. Verify JavaScript loaded: View page source, search for `modernclock.js`
 
### Time Incorrect

**Symptom:** Clock shows wrong time

**Solutions:**

1. Check Joomla site timezone: System → Global Configuration → Server → Server Time Zone
2. Verify selected timezone in module configuration
3. If NTP enabled, check server time is correct: Contact hosting provider
4. Clear browser cookies (NTP sync cached in cookie)
5. Disable NTP temporarily to use visitor's local time
 
### Custom Skin Not Saving

**Symptom:** Changes to custom skin don't persist

**Solutions:**

1. Ensure "customSkin" selected in Basic tab
2. Verify JSON is valid (check for syntax errors)
3. Save module after making custom skin changes
4. Clear Joomla cache after saving
5. Check browser console for JavaScript errors during save
 
### Logo Not Appearing

**Symptom:** Logo configured but not visible on clock

**Solutions:**

1. Verify logo type selected (not empty)
2. For URL logos: Check image path is accessible (try opening in browser)
3. For SVG logos: Validate SVG markup (paste into text editor, look for errors)
4. Check logo position - may be outside visible area (try "0,0")
5. Verify logo dimensions - may be too small (increase width/height)
6. For remote URLs: Ensure CORS allows image loading
 
### Performance Issues

**Symptom:** Clock causes lag or high CPU usage

**Solutions:**

1. Disable smooth second hand (reduces animation overhead)
2. Verify only one instance per page (multiple clocks multiply rendering)
3. Check if clock is in visible viewport (should auto-pause when hidden)
4. Update to latest browser version
5. Test in different browser to isolate browser-specific issues
 
### Admin Preview Not Updating

**Symptom:** Changes in admin don't show in preview canvas

**Solutions:**

1. Hard refresh browser: Ctrl+Shift+R (Windows) or Cmd+Shift+R (Mac)
2. Clear browser cache
3. Check browser console for JavaScript errors
4. Ensure admin.js loaded properly
5. Try different browser to rule out browser-specific issues
 
### NTP Sync Not Working

**Symptom:** Clock still shows incorrect time with NTP enabled

**Solutions:**

1. Verify server has accurate time (contact hosting provider)
2. Check AJAX requests successful: Open browser dev tools → Network tab
3. Clear cookies (NTP offset cached)
4. Ensure server allows Date header access
5. Check for JavaScript errors in console during sync
 
## Support &amp; Resources

**Documentation:** This file  
**Updates:** Check Joomla Extension Directory for latest version  
**Issues:** Report through RicheyWeb support channels

**Tips for Best Results:**

- Test configuration changes in admin preview before saving
- Use NTP sync for time-critical applications
- Match skin to site design for cohesive appearance
- Leverage logo feature for multi-timezone displays
- Custom skin editor provides unlimited creative control
 
 

- [      email ](mailto:?subject=Module+-+Cool+Clock+Documentation&body=https%3A%2F%2Fwww.richeyweb.com%2Fsoftware%2Fdocumentation%2Fmodule-coolclock)
- [      facebook ](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fwww.richeyweb.com%2Fsoftware%2Fdocumentation%2Fmodule-coolclock)
- [      x-twitter ](https://twitter.com/intent/tweet?text=Module+-+Cool+Clock+Documentation%3A+https%3A%2F%2Fwww.richeyweb.com%2Fsoftware%2Fdocumentation%2Fmodule-coolclock)
- [      linkedin ](http://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fwww.richeyweb.com%2Fsoftware%2Fdocumentation%2Fmodule-coolclock&title=Module+-+Cool+Clock+Documentation&summary=Quick+Start+Get+a+clock+running+in+under+2+minutes...)
- [      pinterest ](http://pinterest.com/pin/create/button/?url=https%3A%2F%2Fwww.richeyweb.com%2Fsoftware%2Fdocumentation%2Fmodule-coolclock&media=https%3A%2F%2Fcdn.joomla.org%2Fimages%2Fjoomla-org-og.jpg&description=Module+-+Cool+Clock+Documentation)
 


 

   [  Previous article: JavaScript Filter Table Documentation   JavaScript Filter Table Documentation ](/software/documentation/javascript-filter-table) [  Next article: Module - MicroBread Documentation  Module - MicroBread Documentation  ](/software/documentation/module-microbread)  

##### We Value Your Privacy

 

We use cookies to enhance your experience and for traffic analysis. By continuing to visit this site you agree to our use of cookies.

[Privacy Policy](/privacy-policy)

 Details 

###### Google Tag Manager Items

- Ad Storage
- Ad User Data
- Ad Personalization
- Analytics Storage
- Functionality Storage
- Personalization Storage
- Security Storage
 
 

 

 

 

 

 Decline Accept
```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://www.richeyweb.com/#organization","name":"RicheyWeb","url":"https://www.richeyweb.com/","logo":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/logo/richeyweb.svg","contentUrl":"https://www.richeyweb.com/images/logo/richeyweb.svg","width":{"@type":"QuantitativeValue","value":38,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":38,"unitCode":"PX"},"@id":"https://www.richeyweb.com/#logo"},"image":{"@id":"https://www.richeyweb.com/#logo"},"sameAs":["https://x.com/ComRicheyweb","https://www.facebook.com/RicheyWebDev/","https://www.youtube.com/channel/UCxnVG8BwOvQRO7hVqNX7T2g","https://community.joomla.org/service-providers-directory/listings/115:richeyweb.html"],"description":"RicheyWeb is a custom software developer specializing in Joomla extensions.","ContactPoint":[{"@type":"ContactPoint","url":"https://www.richeyweb.com/contact-us","telephone":"903-873-8460","contactType":"Owner/Administrator","areaServed":["United States",{"@type":"Country","name":"United States","sameAs":["https://en.wikipedia.org/wiki/United_States","https://www.wikidata.org/wiki/Q30","https://g.co/kg/m/09c7w0"]},"European Union",{"@type":"AdministrativeArea","name":"European Union","sameAs":["https://en.wikipedia.org/wiki/European_Union","https://www.wikidata.org/wiki/Q458","https://g.co/kg/m/0_6t_z8"]},"United Kingdom",{"@type":"Country","name":"United Kingdom","sameAs":["https://en.wikipedia.org/wiki/United_Kingdom","https://www.wikidata.org/wiki/Q145","https://g.co/kg/m/07ssc"]},"Australia",{"@type":"Country","name":"Australia","sameAs":["https://en.wikipedia.org/wiki/Australia","https://www.wikidata.org/wiki/Q408","https://g.co/kg/m/0chghy"]},"Canada",{"@type":"Country","name":"Canada","sameAs":["https://en.wikipedia.org/wiki/Canada","https://www.wikidata.org/wiki/Q16","https://g.co/kg/m/0d060g"]},"Russia",{"@type":"Country","name":"Russia","sameAs":["https://en.wikipedia.org/wiki/Russia","https://www.wikidata.org/wiki/Q159","https://g.co/kg/m/06bnz"]},"China",{"@type":"Country","name":"China","sameAs":["https://en.wikipedia.org/wiki/China","https://www.wikidata.org/wiki/Q148","https://g.co/kg/m/0d05w3"]}],"availableLanguage":"en"},{"@type":"ContactPoint","url":"https://www.richeyweb.com/bugs","telephone":"903-873-8460","contactType":"Technical Support","areaServed":["United States",{"@type":"Country","name":"United States","sameAs":["https://en.wikipedia.org/wiki/United_States","https://www.wikidata.org/wiki/Q30","https://g.co/kg/m/09c7w0"]},"European Union",{"@type":"AdministrativeArea","name":"European Union","sameAs":["https://en.wikipedia.org/wiki/European_Union","https://www.wikidata.org/wiki/Q458","https://g.co/kg/m/0_6t_z8"]},"United Kingdom",{"@type":"Country","name":"United Kingdom","sameAs":["https://en.wikipedia.org/wiki/United_Kingdom","https://www.wikidata.org/wiki/Q145","https://g.co/kg/m/07ssc"]},"Australia",{"@type":"Country","name":"Australia","sameAs":["https://en.wikipedia.org/wiki/Australia","https://www.wikidata.org/wiki/Q408","https://g.co/kg/m/0chghy"]},"Canada",{"@type":"Country","name":"Canada","sameAs":["https://en.wikipedia.org/wiki/Canada","https://www.wikidata.org/wiki/Q16","https://g.co/kg/m/0d060g"]},"Russia",{"@type":"Country","name":"Russia","sameAs":["https://en.wikipedia.org/wiki/Russia","https://www.wikidata.org/wiki/Q159","https://g.co/kg/m/06bnz"]},"China",{"@type":"Country","name":"China","sameAs":["https://en.wikipedia.org/wiki/China","https://www.wikidata.org/wiki/Q148","https://g.co/kg/m/0d05w3"]}],"availableLanguage":"en"}],"knowsAbout":["Computer programming",{"@type":"Thing","name":"Computer programming","sameAs":["https://en.wikipedia.org/wiki/Computer_programming","https://www.wikidata.org/wiki/Q80006","https://g.co/kg/m/01mf_"]},"PHP",{"@type":"Thing","name":"PHP","sameAs":["https://en.wikipedia.org/wiki/PHP","https://www.wikidata.org/wiki/Q59","https://g.co/kg/m/060kv"]},"JavaScript",{"@type":"Thing","name":"JavaScript","sameAs":["https://en.wikipedia.org/wiki/JavaScript","https://www.wikidata.org/wiki/Q2005","https://g.co/kg/m/02p97"]},"arduino","Computer forensics",{"@type":"Thing","name":"Computer forensics","sameAs":["https://en.wikipedia.org/wiki/Computer_forensics","https://www.wikidata.org/wiki/Q878553","https://g.co/kg/m/02wxbd"]},"White hat",{"@type":"Thing","name":"White hat","sameAs":["https://en.wikipedia.org/wiki/White_hat_(computer_security)","https://www.wikidata.org/wiki/Q7995625","https://g.co/kg/m/03ns_5"]},"Search engine optimization",{"@type":"Thing","name":"Search engine optimization","sameAs":["https://en.wikipedia.org/wiki/Search_engine_optimization","https://www.wikidata.org/wiki/Q180711","https://g.co/kg/m/019qb_"]},"Search engine marketing",{"@type":"Thing","name":"Search engine marketing","sameAs":["https://en.wikipedia.org/wiki/Search_engine_marketing","https://www.wikidata.org/wiki/Q846132","https://g.co/kg/m/06mw8r"]},"Digital marketing",{"@type":"Thing","name":"Digital marketing","sameAs":["https://en.wikipedia.org/wiki/Digital_marketing","https://www.wikidata.org/wiki/Q1323528","https://g.co/kg/g/122hcnps"]},"Web hosting service",{"@type":"Thing","name":"Web hosting service","sameAs":["https://en.wikipedia.org/wiki/Web_hosting_service","https://www.wikidata.org/wiki/Q5892272","https://g.co/kg/m/014pz4"]},"Email hosting service",{"@type":"Thing","name":"Email hosting service","sameAs":["https://en.wikipedia.org/wiki/Email_hosting_service","https://www.wikidata.org/wiki/Q5368818","https://g.co/kg/m/09w60m"]},"Internet hosting service",{"@type":"Thing","name":"Internet hosting service","sameAs":["https://en.wikipedia.org/wiki/Internet_hosting_service","https://www.wikidata.org/wiki/Q1210425","https://g.co/kg/m/09w5yw"]},"Virtual hosting",{"@type":"Thing","name":"Virtual hosting","sameAs":["https://en.wikipedia.org/wiki/Virtual_hosting","https://www.wikidata.org/wiki/Q588365","https://g.co/kg/m/024mvh"]},"Web performance",{"@type":"Thing","name":"Web performance","sameAs":["https://en.wikipedia.org/wiki/Web_performance","https://www.wikidata.org/wiki/Q7978612","https://g.co/kg/m/0gfj3f1"]},"Web content management system",{"@type":"Thing","name":"Web content management system","sameAs":["https://en.wikipedia.org/wiki/Web_content_management_system","https://www.wikidata.org/wiki/Q45211","https://g.co/kg/m/0615s2"]},"Content management system",{"@type":"Thing","name":"Content management system","sameAs":["https://en.wikipedia.org/wiki/Content_management_system","https://www.wikidata.org/wiki/Q131093","https://g.co/kg/m/0k23c"]},"General Data Protection Regulation",{"@type":"Thing","name":"General Data Protection Regulation","sameAs":["https://en.wikipedia.org/wiki/General_Data_Protection_Regulation","https://www.wikidata.org/wiki/Q1172506","https://g.co/kg/m/0pk_7xs"]},"SERP",{"@type":"Thing","name":"SERP","sameAs":["https://en.wikipedia.org/wiki/SERP","https://www.wikidata.org/wiki/Q2205811","https://g.co/kg/g/11c5szp7kc"]},"Artificial intelligence",{"@type":"Thing","name":"Artificial intelligence","sameAs":["https://en.wikipedia.org/wiki/Artificial_intelligence","https://www.wikidata.org/wiki/Q11660","https://g.co/kg/m/0mkz"]},"Prompt engineering",{"@type":"Thing","name":"Prompt engineering","sameAs":["https://en.wikipedia.org/wiki/Prompt_engineering","https://www.wikidata.org/wiki/Q108941486","https://g.co/kg/g/11p6kpgt_n"]},"E-learning",{"@type":"Thing","name":"E-learning","sameAs":["https://en.wikipedia.org/wiki/E-learning_(theory)","https://www.wikidata.org/wiki/Q182250","https://g.co/kg/g/122czm1f"]},"Sharable Content Object Reference Model",{"@type":"Thing","name":"Sharable Content Object Reference Model","sameAs":["https://en.wikipedia.org/wiki/Sharable_Content_Object_Reference_Model","https://www.wikidata.org/wiki/Q827811","https://g.co/kg/m/06_40"]},"Experience API",{"@type":"Thing","name":"Experience API","sameAs":["https://en.wikipedia.org/wiki/Experience_API","https://www.wikidata.org/wiki/Q7807728","https://g.co/kg/g/1yw9ktxr8"]},"Joomla",{"@type":"Thing","name":"Joomla","sameAs":["https://en.wikipedia.org/wiki/Joomla","https://www.wikidata.org/wiki/Q13167","https://g.co/kg/m/07qb81"]},"Nginx",{"@type":"Thing","name":"Nginx","sameAs":["https://en.wikipedia.org/wiki/Nginx","https://www.wikidata.org/wiki/Q306144","https://g.co/kg/m/02qft91"]},"MySQL",{"@type":"Thing","name":"MySQL","sameAs":["https://en.wikipedia.org/wiki/MySQL","https://www.wikidata.org/wiki/Q850","https://g.co/kg/m/04y3k"]}],"areaServed":["United States",{"@type":"Country","name":"United States","sameAs":["https://en.wikipedia.org/wiki/United_States","https://www.wikidata.org/wiki/Q30","https://g.co/kg/m/09c7w0"]},"European Union",{"@type":"AdministrativeArea","name":"European Union","sameAs":["https://en.wikipedia.org/wiki/European_Union","https://www.wikidata.org/wiki/Q458","https://g.co/kg/m/0_6t_z8"]},"United Kingdom",{"@type":"Country","name":"United Kingdom","sameAs":["https://en.wikipedia.org/wiki/United_Kingdom","https://www.wikidata.org/wiki/Q145","https://g.co/kg/m/07ssc"]},"Australia",{"@type":"Country","name":"Australia","sameAs":["https://en.wikipedia.org/wiki/Australia","https://www.wikidata.org/wiki/Q408","https://g.co/kg/m/0chghy"]},"Canada",{"@type":"Country","name":"Canada","sameAs":["https://en.wikipedia.org/wiki/Canada","https://www.wikidata.org/wiki/Q16","https://g.co/kg/m/0d060g"]},"Russia",{"@type":"Country","name":"Russia","sameAs":["https://en.wikipedia.org/wiki/Russia","https://www.wikidata.org/wiki/Q159","https://g.co/kg/m/06bnz"]},"China",{"@type":"Country","name":"China","sameAs":["https://en.wikipedia.org/wiki/China","https://www.wikidata.org/wiki/Q148","https://g.co/kg/m/0d05w3"]}],"memberOf":["Mensa International",{"@type":"Organization","name":"Mensa International","sameAs":["https://en.wikipedia.org/wiki/Mensa_International","https://www.wikidata.org/wiki/Q184194","https://g.co/kg/m/0140pf"]},"National Rifle Association",{"@type":"Organization","name":"National Rifle Association","sameAs":["https://en.wikipedia.org/wiki/National_Rifle_Association","https://www.wikidata.org/wiki/Q863259","https://g.co/kg/m/0j6f9"]},"CompTIA",{"@type":"Organization","name":"CompTIA","sameAs":["https://en.wikipedia.org/wiki/CompTIA","https://www.wikidata.org/wiki/Q597534","https://g.co/kg/m/040shq"]},"ISFCE LLC",{"@type":"Organization","name":"ISFCE LLC","sameAs":["https://isfce.com","https://g.co/kg/g/11wxm5r0rg"]}],"hasCredential":[{"@type":"EducationalOccupationalCredential","name":"Joomla 3 Certified Administrator","credentialCategory":"Certification","description":"Administrator Exam is the first available Joomla! certification exam","recognizedBy":{"@type":"Organization","name":"Open Source Matters, Inc.","sameAs":["https://en.wikipedia.org/wiki/Open_Source_Matters,_Inc.","https://g.co/kg/g/11f00wvjhz"]},"url":"https://certification.joomla.org/certified-user-directory/michael-richey","about":["Content management system",{"@type":"Thing","name":"Content management system","sameAs":["https://en.wikipedia.org/wiki/Content_management_system","https://www.wikidata.org/wiki/Q131093","https://g.co/kg/m/0k23c"]},"Web content management system",{"@type":"Thing","name":"Web content management system","sameAs":["https://en.wikipedia.org/wiki/Web_content_management_system","https://www.wikidata.org/wiki/Q45211","https://g.co/kg/m/0615s2"]},"Joomla",{"@type":"Thing","name":"Joomla","sameAs":["https://en.wikipedia.org/wiki/Joomla","https://www.wikidata.org/wiki/Q13167","https://g.co/kg/m/07qb81"]}],"educationalLevel":"expert","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/contact/badge.webp","contentUrl":"https://www.richeyweb.com/images/contact/badge.webp","width":{"@type":"QuantitativeValue","value":300,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":86,"unitCode":"PX"},"caption":"Joomla 3 Certified Administrator"}},{"@type":"EducationalOccupationalCredential","name":"Certified Computer Examiner","credentialCategory":"Certification","description":"Internationally recognized computer forensics certifiecation","recognizedBy":{"@type":"Organization","name":"ISFCE LLC","sameAs":["https://en.wikipedia.org/wiki/ISFCE_LLC","https://g.co/kg/g/11wxm5r0rg"]},"url":"https://isfce.com/","about":["Digital forensics",{"@type":"Thing","name":"Digital forensics","sameAs":["https://en.wikipedia.org/wiki/Digital_forensics","https://www.wikidata.org/wiki/Q3246940","https://g.co/kg/m/0cnxzfx"]},"Computer forensics",{"@type":"Thing","name":"Computer forensics","sameAs":["https://en.wikipedia.org/wiki/Computer_forensics","https://www.wikidata.org/wiki/Q878553","https://g.co/kg/m/02wxbd"]},"Mobile device forensics",{"@type":"Thing","name":"Mobile device forensics","sameAs":["https://en.wikipedia.org/wiki/Mobile_device_forensics","https://www.wikidata.org/wiki/Q6887097","https://g.co/kg/m/06zp3tp"]},"Network forensics",{"@type":"Thing","name":"Network forensics","sameAs":["https://en.wikipedia.org/wiki/Network_forensics","https://www.wikidata.org/wiki/Q7001032","https://g.co/kg/m/05pb280"]},"Database forensics",{"@type":"Thing","name":"Database forensics","sameAs":["https://en.wikipedia.org/wiki/Database_forensics","https://www.wikidata.org/wiki/Q5227405","https://g.co/kg/m/0cgqsy"]}],"educationalLevel":"expert","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/contact/isfce-cce.webp","contentUrl":"https://www.richeyweb.com/images/contact/isfce-cce.webp","width":{"@type":"QuantitativeValue","value":150,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":150,"unitCode":"PX"},"caption":"Certified Computer Examiner"}}],"hasOfferCatalog":{"@type":"OfferCatalog","name":"Web Services","itemListElement":[{"@type":"Offer","itemOffered":{"@type":"Service","name":"Hosting"}},{"@type":"Offer","itemOffered":{"@type":"Service","name":"Development"}},{"@type":"Offer","itemOffered":{"@type":"Service","name":"Search Engine Optimization"}}]}},{"@type":"WebSite","@id":"https://www.richeyweb.com/#website","url":"https://www.richeyweb.com/","name":"RicheyWeb","publisher":{"@id":"https://www.richeyweb.com/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://www.richeyweb.com/search?q={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string","valueMaxLength":256,"valueMinLength":2,"valuePattern":"^[A-Za-z0-9\\s]+$"}},"creator":{"@id":"https://www.richeyweb.com/#organization"},"copyrightHolder":{"@id":"https://www.richeyweb.com/#organization"}},{"@type":"WebPage","@id":"https://www.richeyweb.com/software/documentation/module-coolclock#webpage","url":"https://www.richeyweb.com/software/documentation/module-coolclock","name":"Module - Cool Clock Documentation","description":"Module - CoolClock documentation","isPartOf":{"@id":"https://www.richeyweb.com/#website"},"about":{"@id":"https://www.richeyweb.com/#organization"},"inLanguage":"en-GB"},{"@type":"Article","headline":"Module - Cool Clock Documentation","description":"Module - CoolClock documentation","author":{"@type":"Person","name":"Michael Richey","url":"https://www.richeyweb.com/contact-us","@id":"https://www.richeyweb.com/contact-us#person"},"datePublished":"2025-01-16T00:00:00+00:00","dateModified":"2026-01-27T00:00:00+00:00","@id":"https://www.richeyweb.com/software/documentation/module-coolclock#article","isPartOf":{"@id":"https://www.richeyweb.com/software/documentation/module-coolclock#webpage"},"publisher":{"@id":"https://www.richeyweb.com/#organization"},"articleSection":"Documentation","url":"https://www.richeyweb.com/software/documentation/module-coolclock"}]}
```
