Skip to main content

Product Ideas Pipeline

Filter by Idea Status

Filter by Topic

1242 Ideas

Andrew Wagner
Committed
Andrew WagnerCommitted

Feature Request: Display Time Series Tag Name on Checklist ItemsGathering Interest

ProblemIn checklist items today, users can only see the time series description, not the actual tag name. Because assets often have multiple associated tags, it can be difficult to determine which time series a checklist item is referencing. This is especially challenging when users click through to view trends and must manually identify the correct tag.Proposed EnhancementDisplay the time series tag name directly on the checklist item (alongside or in addition to the description).Value / BenefitsImproved operator usability: Newer or less experienced operators are not yet familiar with tag naming conventions, making it harder for them to confidently navigate from checklist items to the correct trend. Faster troubleshooting: Power users and IT frequently need to diagnose checklist or tag write‑back issues. Seeing the tag name directly eliminates the need to switch back and forth between checklists and templates to identify the correct time series. Reduced ambiguity: When multiple tags exist for a single asset, explicitly showing the tag name removes guesswork and reduces the risk of viewing or writing to the wrong signal.Who BenefitsOperations (especially new operators) Power users IT / support teams maintaining checklist templates and tag write‑back logicThis small UI enhancement would meaningfully improve clarity, efficiency, and supportability of checklist‑driven workflows.Mockup Example: ​@Andrew Montgomery ​@Mike Hammons 

DeelakaCSPractitioner

Support for Multi-Level Subsites in SharePoint File ExtractorGathering Interest

Currently, the SharePoint File Extractor fails with a ValueError: Couldn't obtain document library id when attempting to extract files from a document library located within a nested subsite (a subsite or deeper).The extractor successfully connects and works for standard site structures, but fails exclusively on deep hierarchies. Troubleshooting confirms this is not a permissions issue, and the URLs are fully accessible via a standard web browser.Technical Context & Limitation:The current Cognite SharePoint extractor expects the URL schema to follow a single-level subsite structure:https://<tenant>.sharepoint.com/sites/<parent-site-name>/<subsite-name>/library-nameWhen provided with a multi-level subsite URL (e.g., https://<tenant>.sharepoint.com/sites/<site-name>/<subsite1>/<subsite2>/library-name), the extractor attempts to treat the intermediate subsites as document libraries.  Because the extractor currently uses a trial-and-error method to differentiate between a library and a subsite, recursively checking multi-level nested sites would generate an excessively high number of API error calls, potentially hitting rate limits.Requested Solution:Enhance the SharePoint File Extractor to support multi-level subsite traversal. This may require evaluating and leveraging alternative Microsoft Graph API endpoints that can efficiently map directory structures without relying on the current trial-and-error query method, thereby avoiding API rate limit issues.

Several actions in the "Explore and select your data" view in Charts kicks you out and into Search, when using Data ModellingGathering Interest

When adding data in Charts via the “+Add data”→ “Add time series”→ “Explore and select your data” the behavior using classic vs data modelling is very different.  By using a CDM extended data model we see that a series of actions related to Assets push you out of the “Explore and select your data” and into full Search. We do not see the same behavior when using classic data model.Here is a non-exhaustive list of actions that kick you out of ChartsFrom an Asset, clicking on parent, an asset from the path, or children  from the “assets” reference  From a File, clicking on any Asset reference From an annotated file, clicking on the “Open” button on the popup when you click an Asset annotation From an Activity or TimeSeries, clicking on Asset references Clicking on any Asset in the “bread crumb” trail in the  “Explore and select your data”  Clicking on the back button in the “Explore and select your data”, if the last item in the “bread crumb” is an Asset What does not kick you out:Maneuvering the asset hierarchy using the “Tree view” Clicking on any non-Asset links (what I’ve seen so far) Clicking “Open” on the file link annotation from an annotated file Clicking on Files in the “bread crumb” trail in the  “Explore and select your data”  Clicking on the back button in the “Explore and select your data”, if the last item in the “bread crumb” is not an Asset Except using the “Tree view”, it seems like any Asset related action kicks you out. We do not see the same behavior using classic data model. If this is related to how we have extended our Asset, it would be good to have this documented so we can adjust our UI data model  

${video.title}

VIDEO

${video.subtitle}

`; gridContainer.appendChild(card); }); // Step D: Render Pagination renderPagination(totalPages); } function renderPagination(totalPages) { paginationContainer.innerHTML = ''; if (totalPages <= 1) return; for (let i = 1; i <= totalPages; i++) { const btn = document.createElement('button'); btn.innerText = i; btn.className = `page-btn ${i === currentPage ? 'active' : ''}`; btn.onclick = () => { currentPage = i; renderLibrary(); window.scrollTo({ top: 0, behavior: 'smooth' }); }; paginationContainer.appendChild(btn); } } // 5. EVENT LISTENERS // Filter Clicks filterButtons.forEach(btn => { btn.addEventListener('click', (e) => { // Update UI filterButtons.forEach(b => b.classList.remove('active')); e.target.classList.add('active'); // Update State currentFilter = e.target.dataset.filter; currentPage = 1; // Reset to page 1 on filter change renderLibrary(); }); }); // Modal Logic function openModal(videoId) { modal.style.display = 'flex'; // Auto-play enabled iframe.src = `https://www.youtube.com/embed/${videoId}?autoplay=1`; } closeModal.onclick = () => { modal.style.display = 'none'; iframe.src = ''; // Stop video }; window.onclick = (event) => { if (event.target == modal) { modal.style.display = 'none'; iframe.src = ''; } }; // Initial Load renderLibrary();