Giter VIP home page Giter VIP logo

atlas-bi / library Goto Github PK

View Code? Open in Web Editor NEW
14.0 7.0 4.0 375.17 MB

๐Ÿค”๐Ÿ“ˆ Atlas | The unified report library.

Home Page: https://atlas.bi

License: GNU General Public License v3.0

TSQL 37.41% C# 18.80% HTML 11.16% CSS 7.32% JavaScript 18.45% Python 0.07% Dockerfile 0.06% SCSS 1.37% XSLT 1.69% Shell 2.20% AMPL 0.01% Batchfile 1.45% Sass 0.02%
atlas documentation-database business-intelligence library data-governance bi bi-library

library's People

Contributors

christopherpickering avatar levi-ghcs avatar paysni avatar renovate-bot avatar renovate[bot] avatar sean-pickering avatar semantic-release-bot avatar snyk-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

library's Issues

[FEATURE] Add configuration options to enable/disable features

Feature Request

Options should be added to the appsettings.json file or as security points to enable/disable app features.

  • Demo video
  • Access request buttons
  • Feedback buttons
  • Terms
  • Initiatives
  • Relationships
  • Comments
  • User profiles

allow text changes

  • GitlabURL and View source on report documentation

[CHORE] Database cleanup

Feature Request

Change from db first to code first so we can run migrations to update the database when deploying new versions.

Also, clean up db table names.

Potential Updates

ReportGroupsMemberships

  • table ReportGroupsMemberships > ReportGroupMemberships
  • col MembershipId > membership_id
  • col GroupId > group (fk)
  • col ReportId > report (fk)
  • col LastLoadDate > etl_date

ReportObject

  • table ReportObject > Reports
  • col ReportObjectID > report_id
  • col ReportObjectBizKey > report_key
  • col ReportObjectTypeID > type
  • col Name > name
  • col DisplayTitle > title
  • col Description > description
  • col DetailedDescription > detailed_description
  • col RepositoryDescription > system_description
  • col SourceServer > system_server
  • col SourceDB > system_db
  • col SourceTable > system_table
  • col AuthorUserID > created_by
  • col LastModifiedByUserID > modified_by
  • col LastModifiedDate > _modified_at
  • col ReportObjectURL > url
  • col EpicMasterFile > system_identifier
  • col EpicRecordID > system_id
  • col EpicReportTemplateId > system_template_id
  • col ReportServerCatalogID > system_catalog_id
  • col DefaultVisibilityYN > visible
  • col OrphanedReportObjectYN > orphan
  • col ReportServerPath > system_path
  • col LastLoadDate > etl_date
  • col CertificationTag > certification_tag

ReportObjectHierarchy

  • table ReportObjectHierarchy > ReportHierarchies
  • col ParentReportObjectID > parent
  • col ChildReportObjectID > child
  • col Line > rank
  • col LastLoadDate > etl_date

ReportObjectQuery

  • table ReportObjectQuery > ReportQueries
  • col ReportObjectQueryId > query_id
  • col ReportObjectId > report_id
  • col Query > query
  • col LastLoadDate > etl_date

ReportObjectRunData

  • table ReportObjectRunData > ReportRuns
  • col ReportObjectID > report_id
  • col RunID > run_id
  • col RunUserID > user
  • col RunStartTime > start_time
  • col RunDurationSeconds > duration_seconds
  • col RunStatus > status
  • col LastLoadDate > etl_date
ReportObjectSubscriptions
  • table ReportObjectSubscriptions > ReportSubscriptions
  • col ReportObjectSubscriptionsId > subscriptions_id
  • col ReportObjectId > report
  • col UserId > user_id
  • col SubscriptionId > unique_id
  • col InactiveFlags > inactive
  • col EmailList > email_list
  • col Description > description
  • col LastStatus > status
  • col LastRunTime > last_run
  • col SubscriptionTo > email
  • col LastLoadDate > etl_date
ReportObjectType
  • table ReportObjectType > ReportTypes
  • col ReportObjectTypeID > type_id
  • col Name > name
  • col ShortName > short_name
  • col DefaultEpicMasterFile > code
  • col LastLoadDate > etl_date

User

  • table User > Users
  • col UserID > user_id
  • col Username > username
  • col EmployeeID > employee_id
  • col AccountName > account_name
  • col DisplayName > display_name
  • col FullName > _full_name
  • col FirstName > _first_name
  • col LastName > last_name
  • col Department > department
  • col Title > title
  • col Phone > phone
  • col Email > email
  • col Base > base
  • col EpicId > system_id
  • col LastLoadDate > etl_date
  • col LastLogin > last_login

Analytics

  • table Analytics > Analytics
  • col Id > analytics_id
  • col Username > username
  • col appCodeName > app_code_name
  • col appName > app_name
  • col appVersion > app_version
  • col cookieEnabled > cookie_enabled
  • col language
  • col oscpu
  • col platform
  • col userAgent > useragent
  • col host
  • col hostname
  • col href
  • col protocol
  • col search
  • col pathname
  • col hash > unique_id
  • col screenHeight > screen_height
  • col screenWidth > screen_width
  • col origin
  • col title
  • col loadTime > load_time
  • col accessDateTime > access_date
  • col referrer
  • col UserId > user
  • col Zoom > zoom
  • col Epic > epic
  • col pageId > page_id
  • col sessionId > session_id
  • col pageTime > page_time
  • col sessionTime > session_time
  • col updateTime > update_time

DP_Agreement

  • table DP_Agreement > drop table

DP_AgreementUsers

  • table DP_AgreementUsers > drop table

DP_Attachments

  • table DP_Attachments > drop table

DP_Contact

  • table DP_Contact > drop table

DP_Contact_Links

  • table DP_Contact_Links > drop table

DP_DataInitiative

  • table DP_DataInitiative > Initiatives
  • col DataInitiativeID> initiative_id
  • col Name> name
  • col Description> description
  • col OperationOwnerID> ops_owner
  • col ExecutiveOwnerID> exec_owner
  • col FinancialImpact> financial_impact
  • col StrategicImportance> strategic_importance
  • col LastUpdateDate> _modified_at
  • col LastUpdateUser> modified_by

DP_DataProject

  • table DP_DataProject > Collections
  • col DataProjectID> collection_id
  • col DataInitiativeID> initiative
  • col Name> name
  • col Purpose> search_summary
  • col Description> description
  • col LastUpdateDate> _modified_at
  • col LastUpdateUser> modified_by
  • col Hidden> hidden

DP_MilestoneChecklist

  • table DP_MilestoneChecklist > drop table

DP_MilestoneFrequency

  • table DP_MilestoneFrequency > drop table

DP_MilestoneTasks

  • table DP_MilestoneTasks > drop table

DP_MilestoneTasksCompleted

  • table DP_MilestoneTasksCompleted > drop table

DP_MilestoneTemplates

  • table DP_MilestoneTemplates > drop table

DP_ReportAnnotation

  • table DP_ReportAnnotation > CollectionReport
  • col ReportAnnotationID> link_id
  • col ReportId> report
  • col DataProjectId> collection
  • col Rank> drop

DP_TermAnnotation

  • table DP_TermAnnotation > CollectionTerm
  • col TermAnnotationID> link_id
  • col TermId> term
  • col DataProjectId > collection
  • col Rank > rank

Dp_DataProjectConversation

  • table Dp_DataProjectConversation > drop table

Dp_DataProjectConversationMessage

  • table Dp_DataProjectConversationMessage > drop table

EstimatedRunFrequency

  • table EstimatedRunFrequency > RunFrequency
  • col EstimatedRunFrequencyID > frequency_id
  • col EstimatedRunFrequencyName > name

FinancialImpact

  • table FinancialImpact > FinancialImpact
  • col FinancialImpactId > impact_id
  • col Name > name

Fragility

  • table Fragility > Fragility
  • col FragilityID > fragility_id
  • col FragilityName > name

FragilityTag

  • table FragilityTag > FragilityTag
  • col FragilityTagID > tag_id
  • col FragilityTagName > name

MaintenanceLog

  • table MaintenanceLog > MaintenanceLogs
  • col MaintenanceLogID > log_id
  • col MaintainerID > maintainer
  • col MaintenanceDate > maintained_at
  • col Comment > comments
  • col MaintenanceLogStatusID > status

MaintenanceLogStatus

  • table MaintenanceLogStatus > MaintenanceLogStatus
  • col MaintenanceLogStatusID > status_id
  • col MaintenanceLogStatusName > name

MaintenanceSchedule

  • table MaintenanceSchedule > MaintenanceSchedule
  • col MaintenanceScheduleID > schedule_id
  • col MaintenanceScheduleName > name

OrganizationalValue

  • table OrganizationalValue > OrganizationalValue
  • col OrganizationalValueID > value_id
  • col OrganizationalValueName > name

ReportManageEngineTickets

  • table ReportManageEngineTickets > ReportTickets
  • col ManageEngineTicketsId > ticket_id
  • col TicketNumber > number
  • col Description > description
  • col ReportObjectId > report_id
  • col TicketUrl > ticketurl

ReportObjectConversation_doc

  • table ReportObjectConversation_doc > drop table

ReportObjectConversationMessage_doc

  • table ReportObjectConversationMessage_doc > drop table

ReportObjectDocFragilityTags

  • table ReportObjectDocFragilityTags > ReportFragilityTags
  • col LinkId > link_id
  • col ReportObjectID > report
  • col FragilityTagID > fragility_tag

ReportObjectDocMaintenanceLogs

  • table ReportObjectDocMaintenanceLogs > ReportMaintenanceLogs
  • col LinkId > link_id
  • col ReportObjectID > report
  • col MaintenanceLogID > log

ReportObjectDocTerms

  • table ReportObjectDocTerms > ReportTerms
  • col LinkId > link_id
  • col ReportObjectID > report_doc
  • col TermId > term

ReportObjectImages_doc

  • table ReportObjectImages_doc > ReportImages
  • col ImageID > image_id
  • col ReportObjectID > report_id
  • col ImageOrdinal > image_rank
  • col ImageData > image_data
  • col ImageSource > image_source

ReportObject_doc

  • table ReportObject_doc > ReportDocs
  • col OperationalOwnerUserID > ops_owner
  • col Requester > requester
  • col GitLabProjectURL > collection_url
  • col DeveloperDescription > description
  • col KeyAssumptions > assumptions
  • col OrganizationalValueID > org_value
  • col EstimatedRunFrequencyID > frequency
  • col FragilityID > fragility
  • col ExecutiveVisibilityYN > executive_report
  • col MaintenanceScheduleID > maintenance_schedule
  • col LastUpdateDateTime > _modified_at
  • col CreatedDateTime > _created_at
  • col CreatedBy > created_by
  • col UpdatedBy > modified_by
  • col EnabledForHyperspace > enabled_for_hyperspace
  • col DoNotPurge > do_not_purge
  • col Hidden > hidden
  • col ReportObjectID > report

RolePermissionLinks

  • table RolePermissionLinks > RolePermissionLinks
  • col RolePermissionLinksId > permissionlinks_id
  • col RoleId > role_id (pk)
  • col RolePermissions > permission_id (pk)

RolePermissions

  • table RolePermissions > RolePermissions
  • col RolePermissionsId > permissions_id
  • col Name > name
  • col Description > description

StrategicImportance

  • table StrategicImportance > StrategicImportance
  • col StrategicImportanceId > importance_id
  • col Name > name

Term

  • table Term > Terms
  • col TermId > term_id
  • col Name > name
  • col Summary > summary
  • col TechnicalDefinition > technical_definition
  • col ApprovedYN > approved
  • col ApprovalDateTime > _approved_at
  • col ApprovedByUserId > approved_by (fk)
  • col ExternalStandardUrl > external_standard_url
  • col ValidFromDateTime > _valid_from
  • col ValidToDateTime > _valid_to
  • col UpdatedByUserId > modified_by (fk)
  • col LastUpdatedDateTime > _modified_at

TermConversation

  • table TermConversation > drop table

TermConversationMessage

  • table TermConversationMessage > drop table

UserFavoriteFolders

  • table UserFavoriteFolders > FavoriteFolders
  • col UserFavoriteFolderId > folder_id
  • col FolderName > name
  • col favorite_folders > user (fk)
  • col FolderRank > rank

UserFavorites

  • table UserFavorites > Favorites
  • col UserFavoritesId > favorite_id
  • col ItemType > item_type
  • col ItemRank > rank
  • col ItemId > item_id
  • col UserId > user (fk)
  • col ItemName > name
  • col FolderId > folder = (fk)

UserPreferences

  • table UserPreferences > UserPreferences
  • col UserPreferenceId > preference_id
  • col ItemType > key
  • col ItemValue > value
  • col ItemId > item_id
  • col UserId > user_id (fk)

UserRoleLinks

  • table UserRoleLinks > UserRolelinks
  • col UserRoleLinksId > rolelinks_id
  • col UserId > user (fk)
  • col UserRolesId > role (fk)

UserRoles

  • table UserRoles > UserRoles
  • col UserRolesId > role_id
  • col Name > name
  • col Description > description

[FEATURE] When searching for users attempt to rank them more by activity

Feature Request

When searching for users, the search works too well :) We find users who have no activity at the top when there is a closer match on them. We should try to do a bit of rank boosting using the quantity of report runs/atlas usage. Big users should be closer to the top.

For example, searching for the analytics directory... we get 10 matches, but he is on the bottom. He should be on the top based on usage... and employees who have left the company and have 0 usage should be closer to the bottom.

[FEATURE] Public/Hidden settings for each Report Object should be configurable in Web App

Feature Request

Would ultimately replace any public/hidden classification in ETL. Admin users should be able to go by Report Object Type and classify both globally as public/hidden and and criteria to determine public/hidden. Criteria should include:

Run quantity threshold
Last run date
Custom column criteria
group membership of run users
group membership of report object (report group, inherited users)
Is Private Report for workbench

[FEATURE] Add a toggle to turn the hyperspace setting on/off

Right now if someone enters "hyperspace mode" outside of hyperspace they have now way of leaving it, other than clearing their cookie cache.

If we have the hyperspace cookie set, but no longer detect hyperspace, we should probably show an option for them to exit hyperspace mode.

[BUG] viewing user profiles sometimes gives an int conversion error

fail: Microsoft.EntityFrameworkCore.Query[10100] 
      An exception occurred while iterating over the results of a query for context type 'Atlas_Web.Models.Atlas_WebContext'.
      System.InvalidCastException: Unable to cast object of type 'System.Int32' to type 'System.Int64'.         at Microsoft.Data.SqlClient.SqlBuffer.get_Int64()
         at Microsoft.Data.SqlClient.SqlDataReader.GetInt64(Int32 i)
         at lambda_method1728(Closure , QueryContext , DbDataReader , ResultContext , SingleQueryResultCoordinator )
         at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
      System.InvalidCastException: Unable to cast object of type 'System.Int32' to type 'System.Int64'.         at Microsoft.Data.SqlClient.SqlBuffer.get_Int64()
         at Microsoft.Data.SqlClient.SqlDataReader.GetInt64(Int32 i)
         at lambda_method1728(Closure , QueryContext , DbDataReader , ResultContext , SingleQueryResultCoordinator )
         at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
fail: Microsoft.AspNetCore.Server.Kestrel[13] 
      Connection id "0HMF7AFRUR1AV", Request id "0HMF7AFRUR1AV:00000019": An unhandled exception was thrown by the application.
      System.InvalidCastException: Unable to cast object of type 'System.Int32' to type 'System.Int64'.         at Microsoft.Data.SqlClient.SqlBuffer.get_Int64()
         at Microsoft.Data.SqlClient.SqlDataReader.GetInt64(Int32 i)
         at lambda_method1728(Closure , QueryContext , DbDataReader , ResultContext , SingleQueryResultCoordinator )
         at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
         at Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.ToListAsync[TSource](IQueryable`1 source, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.ToListAsync[TSource](IQueryable`1 source, CancellationToken cancellationToken)
         at Microsoft.Extensions.Caching.Memory.CacheExtensions.GetOrCreateAsync[TItem](IMemoryCache cache, Object key, Func`2 factory)
         at Atlas_Web.Pages.Users.IndexModel.OnGetActivity(Nullable`1 id) in /app/web/Pages/Users/Index.cshtml.cs:line 1204
         at Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.ExecutorFactory.GenericTaskHandlerMethod.Convert[T](Object taskAsObject)
         at Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.ExecutorFactory.GenericTaskHandlerMethod.Execute(Object receiver, Object[] arguments)
         at Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.PageActionInvoker.InvokeHandlerMethodAsync()
         at Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.PageActionInvoker.InvokeNextPageFilterAsync()
         at Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.PageActionInvoker.Rethrow(PageHandlerExecutedContext context)
         at Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.PageActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
         at Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.PageActionInvoker.InvokeInnerFilterAsync()
         at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|24_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|19_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
         at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
         at WebMarkupMin.AspNetCore5.WebMarkupMinMiddleware.ProcessAsync(HttpContext context, Boolean useMinification, Boolean useCompression)
         at WebMarkupMin.AspNetCore5.WebMarkupMinMiddleware.ProcessAsync(HttpContext context, Boolean useMinification, Boolean useCompression)
         at WebMarkupMin.AspNetCore5.WebMarkupMinMiddlewareBase.Invoke(HttpContext context)
         at Microsoft.AspNetCore.Diagnostics.StatusCodePagesMiddleware.Invoke(HttpContext context)     
         at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.Invoke(HttpContext context)
         at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application)

[FEATURE] Create a way for users to save custom SSRS run link

Feature Request

User should be able to have "pre-parameterized" links to reports, either on their profile, or even on the report they are trying to run.

This could be based on the users run history.
Get run params from runs > 2 in last x days and build a url? Add to favs somewhere?
List of "common parameter sets" can we infer param sets from ssrs history? get exact run links from history and let people fav them
pull SSRS params into Atlas, let users customize params in Atlas, then build a run link w/ them.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.