- Fixed logic to maintain current product context while using successor for version info
- Added appropriate successor product display in callout warning
- Fixed conditions for when callout should appear
- Fixed potential `isset <nil>` problems with proper nil checks before accessing properties
- **Added comprehensive Cypress tests for successor relationship**
- Created `stable-version-callout.cy.js` for testing successor behavior
- Tests that `/influxdb/v1/` and `/influxdb/v2/` pages show successor callout
- Verifies "InfluxDB 3 Core" appears in callout with correct links
- Checks product data configuration in `products.yml`
- Includes JavaScript error detection
- **Configured environment-specific Hugo settings**
- Added `/config/testing/config.yml` for test environment
- Configured port 1315 for test environment
- Added build parameters specific to testing context
- Separated test environment from development environment
- **Updated Docker configuration**
- Added new package.json script for building Docker image
- Improved Docker-based testing commands
- **Environment variable formatting** - Updated environment variable configuration from array format to object format to comply with Lefthook schema validation requirements.
- **Unified link testing** - Consolidated multiple product-specific link testing commands into a single `e2e-links` command that processes all staged Markdown and HTML files across content directories.
- **Package script integration** - Modified commands to use centralized yarn scripts instead of direct execution, improving maintainability and consistency.
- **Source information extraction** - Enhanced to correctly extract and report source information from frontmatter.
- **URL and source mapping** - Improved handling of URL to source path mapping for better reporting.
- **Ignored anchor links configuration** - Added proper exclusion of behavior-triggering anchor links (like tab navigation) to prevent false positives.
- **Request options correction** - Fixed Cypress request options to ensure `failOnStatusCode` is properly set when `retryOnStatusCodeFailure` is enabled.
- **Improved error reporting** - Enhanced error reporting with more context about broken links.
- **New test scripts added** - Added centralized testing scripts for link checking and codeblock validation.
- **Product-specific test commands** - Added commands for each product version (InfluxDB v2, v3 Core, Enterprise, Cloud, etc.).
- **API docs testing** - Added specialized commands for testing API documentation links.
- **Comprehensive test runners** - Added commands to run all tests of a specific type (`test:links:all`, `test:codeblocks:all`).
- Fix Docker build command and update CONTRIBUTING.
chore(js): JavaScript QoL improvements:
- Refactor main.js with a componentRegistry object and clear initialization of components and globals
- Add a standard index.js with all necessary exports.
- Update javascript.html to use the index.js
- Remove jQuery script tag from header javascript.html (remains in footer)
- Update package file to improve module discovery.
- Improve Hugo and ESLint config for module discovery and ES6 syntax
- Assigns the match expression to a data attribute (data-id) to use in eleement selection. Previously, it assigned the regex expression to input.id and used the ID to select the element when updating the placeholder value. A regex that starts with a slash causes an error; input#/path/to/match isn't a valid id.
- Supports placeholders like '\/path\/to\/file.parquet'
- Refactors code-placeholders to the component pattern.
- Assigns the match expression to a data attribute (data-id) to use in eleement selection. Previously, it assigned the regex expression to input.id and used the ID to select the element when updating the placeholder value. A regex that starts with a slash causes an error; input#/path/to/match isn't a valid id.
- Supports placeholders like '\/path\/to\/file.parquet'
- Refactors code-placeholders to the component pattern.
* replaced all oss- and cloud-only shortcodes
* removed duplicate oss calls and replaced with shared source
* base changes for shared v2 content
* restored shared grafana content
* removed frontmatter from shared v2 content
* WIP fixing lists with show-in shortcode
* fix lists that use show-in shortcode
* updated all v2 files to remove duplicate-oss and use source sharing
* update prepend and append frontmatter to just use string input
* fixed broken menu keys
Continue refactoring JavaScript into a component pattern and ESM.
Replaces some jQuery with native DOM API.
chore(ai): reference documentation and instructions for training AI
chore(ai): implement Kapa AI chat widget
- Move script tag to HTML template to make it obvious.
- Cleanup javascript to make it more component-like
- Set Kapa attributes, support setting userid
chore(js): add JS dependencies, previously referenced in script tags, to package.json for JS builds.
fix(api): indents
chore(js): package Mermaid diagram library
chore(js): refactor JS for AIChat and Theme as examples of using the component pattern for HTML/CSS/JS
chore(js): Use the new local-storage API in refactored module code and in code not yet ported. Cleanup syntax in local-storage and make functions available from window.LocalStorageAPI.
fix(js): theme.js name-change
chore(js): fix ai-chat.js file name
fix(js): refactor:
- componentNames are snakecase in HTML
- replace DOM selection method and jQuery eventhandler assignment
- remove old theme.js references
chore(ai): configure chat window overlay, size, and position:
- removes overlay and scroll lock
- positions chat to the right and bottom
- expands sample question width to 12 cols
chore(ai): edit disclaimer
fix(ai): size and position
chore(js): make ai-chat specific to configuration and and setting userid (for testing and future use).
fix(js): copy referrerHost variable to v3-wayfinding instead of relying on influxdb-url to assign it.
chore(ai): add a footer div at page bottom to contain modal triggers for custom-time and ask-ai. Still needs some CSS help. Moves tooltip text from CSS to HTML data attribute.
chore(ai): dynamically load AI script tag after DOMContentLoaded to avoid race conditions. Call initialization from the modal trigger module and pass the show trigger function to the onload handler.
fix(ai): fix modal triggers to viewport
fix(modal-triggers): stack the triggers into a single column.
restyle footer widgets
updated time selector modal to use correct storage term
minor style update
WIP(ai-chat): get product data
chore(js): Factor out pageContext module from influxdb-url.js
chore(js): Refactor helpers.js out of inflluxdb-url.js
WIP: refactor influxdburl - minimal changes for module conversions
feat(ai): Custom AI chat example questions product and version.
Ask AI example questions:
- Adds support for customizing example Ask AI questions per product or version.
- Configure questions in site `data/products.yml`; otherwise, it uses default questions from `ask-ai.js`
Context, page, and product data:
- Adds sample URLs for remaining versions in influxdb_urls
- `page-context.js` consolidates and exports constants for page context (protocol, host, path, referrer) and path-to-data mappings for product and influxdb_url site data
Module refactor:
- Refactors some JavaScript into ES6 modules, and refactors some of those further into a Component pattern--just vanilla JS and no shadow DOM stuff. The Component pattern that uses data attributes to "bind" JavaScript modules with CSS and HTML is a popular approach in modern web development. This pattern enhances modularity, reusability, and maintainability by associating behavior (JavaScript), structure (HTML), and style (CSS) through the use of data attributes.
- `assets/main.js` is the entrypoint
- Passes pageParams from the Hugo page to modules that import `@params`.
- Moves most external dependencies out of `script` tags and into package.json to be managed with `yarn`.
- Adds `eslint`.
- For modules that aren't yet components, wraps execution statements inside an `initialize()` function and calls the function from `main.js` on `DOMContentLoaded`.
- For components, if the page contains the `data-component="<component-name>"`, the matching element is passed to the component function on `DOMContentLoaded`.
- I tried to avoid changing logic where it wasn't necessary.
Update DOC_GPT_PROFILE.md
customize ai chat modal styles
fix(influxdb-url): Rename to cloud_dedicated in influxdb_urls.yml, remove newly added placeholder URL and use the extant default, refactor
- Rename to in influxdb_urls.yml
- Fix influxdb-url.js and data provision in local-storage.js to use the new name, mapping it to to retain the existing local storage key
chore(api-lib): Use local-storage import instead of window global
chore(js): cleanup
fix(js): Ensure feature-callout initializes on page load
fix(theme): Load preferred theme before making the page visible. Execute a predefined function by specifying the function name in data-theme-callback
fix(search-toggle): Restores toggling the search field when sidebar is collapsed. Moves the event handler to a new search-button component
fix(ai): Fix custom attribute assignment. Rename property to ai_example_questions
Include the word `Bearer` or `Token`, a space, and your **token** value (all case-sensitive). Fix TOC links.
Fixes#5781
fix(api-docs): Update API reference directories and generation script for influxdb3 URL paths, update links and names in reference content
fix(api-ref): Update getswagger.sh destination paths to use the new directory structure when fetching spec files. Update the redocly plugin module path.
hotfix: fix hlevel bug in children shortcode
Remove underline from custom time widget
add color to custom time widget styling
* base content for influxdb3 query guides
* added enterprise versions of query guides
* Apply suggestions from code review
Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
* update template titles to use .RenderString
---------
Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
* implement github style markdown alerts
* hide example doc
* swapped note and tip color schemes
* fixed broken v2 icons
* marked example as draft
* Apply suggestions from code review
Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
---------
Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
* WIP added prepend to mqtt package frontmatter
* WIP excluded mqtt package from oss 2.7+
* WIP add nightly version exclude
* add nightly exclude to flux function support modal, closesinfluxdata/DAR#437
* updated mqtt warn message and version exclude pattern
* Apply suggestions from code review
Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
* exclude mqtt package from all oss versions
* exclude mqtt package from everything but cloud
---------
Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
* added influxdb clustered release notes and release-toc shortcode
* added comments to release-toc js
* chore(influxql): Test and improve InfluxQL functions with regex arguments
- Part of investigation into https://github.com/influxdata/DAR/issues/434
- Tested using regex function arguments in InfluxQL functions in InfluxDB v1
and v2.
- Add test setup and a test for v2
- Add examples for v2
- Update lint and test configs
* chore: tidy functions and remind me where the jQuery is (#5593)
---------
Co-authored-by: Jason Stirnaman <stirnamanj@gmail.com>
Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
* WIP restructuring of cookies to pull from a limited set of cookies
* WIP update cloud-urls.js to use new cookie api
* move api-libs-related js into own file
* minor updates to cookies.js
* Apply suggestions from code review
Co-authored-by: Jason Stirnaman <stirnamanj@gmail.com>
* Update assets/js/notifications.js
* set get started date default to null
* remove line breaks in header js template
* Add cookie migration (#5323)
* migrate old cookies to new cookie structure
* set explicit expiration date on influxdata_docs_ported cookie
---------
Co-authored-by: Jason Stirnaman <stirnamanj@gmail.com>
* Updated grafana.md to include the new InfluxDB data source SQL setup
* updates to new grafana docs
* Apply suggestions from code review
Co-authored-by: Jason Stirnaman <stirnamanj@gmail.com>
* ported grafana docs to other v3 products
* minor updates to grafana files
---------
Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>
Co-authored-by: Scott Anderson <scott@influxdata.com>
Co-authored-by: Jason Stirnaman <stirnamanj@gmail.com>
* Bump hugo to latest version v0.121.2
* Fix deprecation warnings emitted from hugo
---------
Co-authored-by: Jason Stirnaman <stirnamanj@gmail.com>
Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>
* chore(v3): DBRP: Update Serverless API ref (#5234)
* chore(ci): Tests: substitute placeholders in JSON body parameters
* chore(v3): DBRP: copy page from influxql to admin/dbrps.
* chore(ci): Trying to prevent "a Influx..."
* chore(ci): Allow autogen
* chore(serverless): DBRP glossary entry
* chore(v2): add default DBRP note
* chore(v3): use product-name shortcode
* chore(v3): use product-name shortcode, clarify retention period and mapping
* chore(serverless): Create Bucket:
- add missing example for Data Explorer
- move Retention Period syntax and define retentionRules syntax
- setup for tests
* chore(serverless): Create Bucket:
- add missing example for Data Explorer
- move Retention Period syntax and define retentionRules syntax
- setup for tests
* chore(serverless): Update bucket: alias to match other products
* chore(v3): Serverless for prototyping: update with DBRP behavior
* Serverless auto-generated buckets have 3-day default retention period
Fixes#5234
- v1-compat guide:
- passes tests
- explains DBRPs (default, automatic, and management)
- migrate DBRP content from query-data/influxql/dbrp
- v2-compat guide:
- fix TOC
- add list code example
- rename influxdb-v1-api to api/v1-http, migrate params from v1-compat guide, and explain DBRP in context
- add write-data/api/v1-http and migrate content from v1-compat guide
- move optimize and troubleshooting up to /query-data
- add Related items support for paths containing http
- substitute placeholders in tests
* chore(test): update configuration in README
* fix(serverless): Optimize queries parent
* fix(serverless): create-bucket cleanup
* fix: cleanup
* fix: close tag
* Apply suggestions from code review
Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>
* fix(v3): permission to create dbrp-mapped bucket
---------
Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>
* update description and verbiage in v3 wayfinding modal to address user feedback
* Update layouts/partials/footer/v3-wayfinding.html
Co-authored-by: Jason Stirnaman <stirnamanj@gmail.com>
---------
Co-authored-by: Jason Stirnaman <stirnamanj@gmail.com>
* WIP base changes for clustered docs
* WIP clustered docs
* Add new influxdb/host shortcode and implement it in 3.0 docs (#5077)
* add new influxdb/host shortcode and implement it in 3.0 docs
* remove oss- cloud-only shortcodes from serverless
* Apply suggestions from code review
Co-authored-by: Jason Stirnaman <stirnamanj@gmail.com>
* updated urls js to PR suggestion
* Updated JavaScript, templates, and styles for Clustered URLs (#5079)
* updated js, templates, and styles for clustered urls
* Apply suggestions from code review
Co-authored-by: Jason Stirnaman <stirnamanj@gmail.com>
---------
Co-authored-by: Jason Stirnaman <stirnamanj@gmail.com>
---------
Co-authored-by: Jason Stirnaman <stirnamanj@gmail.com>
* restructure product dropdown template to be more extensible
* fixed more page template bugs
* fixed references to cloud in clustered
* updated docsearch templates
* added early access flagging and cta-link shortcode
* minor content updates in clustered
* updated staging config
* fixed typo in clustered description
* ported influxctl 2.0.1 to clustered
* ported get started changes to clustered
* ported 3.0 admin docs to clustered
* port null tag content to clustered
* ported influxctl note to clustered
* ported query reorg changes to clustered
* updated early access to limited availability, updated clustered landing content
* ported new content to clustered
* ported new content to clustered
* updated cta on clustered landing page
* Updated notifications and added InfluxDB Clustered announcement notification (#5125)
* updated notifications, added clustered announcement notification
* updated cta in clustered notification
* updated influxctl profile configs
* update clustered search attributes
* updated learn more link in clustered notification
* Apply suggestions from code review
* fixed typos
* fixed typos
---------
Co-authored-by: Jason Stirnaman <stirnamanj@gmail.com>
* add chronograf documentation to 3.0, clean up cloud URL modal, closes#5037
* add more info about fully-qualified measurements in chronograf doc
* Apply suggestions from code review
Co-authored-by: Jason Stirnaman <stirnamanj@gmail.com>
---------
Co-authored-by: Jason Stirnaman <stirnamanj@gmail.com>
* chore(cloud): Remove support from billing (https://github.com/influxdata/DAR/issues/390)
* chore(cloud): Remove support from limits (https://github.com/influxdata/DAR/issues/390)
* fix(serverless): Add related and fix aliases.
* chore(cloud): Remove and update Support contact (https://github.com/influxdata/DAR/issues/390)
* chore(serverless): Remove and update Support contact (https://github.com/influxdata/DAR/issues/390)
* fix(serverless): Alternatives to deleting data, update measurement/table entries in glossary.
* chore: Update Support footer.
* hotfix: cloud-only tags in glossary
* chore(docs): Update storage-limits to remove directions to contact support (#4996)
* chore(docs): Update storage-limits to remove directions to contact support
Support are not able to increase these limits on the serverless product. If customers need higher limits they should speak to sales about a dedicated solution in the first instance.
* chore: fix hyperlink to sales
---------
Co-authored-by: Jason Stirnaman <stirnamanj@gmail.com>
* Update content/influxdb/cloud-serverless/admin/billing/_index.md
Co-authored-by: Ben Tasker <88340935+btasker@users.noreply.github.com>
* Update content/influxdb/cloud/account-management/billing.md
Co-authored-by: Ben Tasker <88340935+btasker@users.noreply.github.com>
* fix(serverless): measurement suggestions
Co-authored-by: Ben Tasker <88340935+btasker@users.noreply.github.com>
* Update content/influxdb/cloud-serverless/reference/internals/storage-limits.md
---------
Co-authored-by: Will Cooke <will@whizzy.org>
Co-authored-by: Ben Tasker <88340935+btasker@users.noreply.github.com>