Giter Club home page Giter Club logo

Comments (54)

SjoenH avatar SjoenH commented on August 18, 2024 2

@ntorsen Ready for testing ๐Ÿฅณ

Flyt.Versioning.demo.mov

from flyt.

SjoenH avatar SjoenH commented on August 18, 2024 2

๐Ÿ‘‹ Hi everyone.

I'm adding a resolution select input. So that the user can look at all changes grouped by year, month, day, minute or second intervals. This should also make it easier to test more functionality in a shorter time... @ntorsen
Screenshot 2022-03-09 at 11 58 46

@Linedueo give me a shout if you have any design input here.

I also changed the text Today to Now as it is more precise wrt. the new resolution selections.

Change is rolling out to test environments as I type this.

Update: Ready in Dev, Test and QA

from flyt.

ntorsen avatar ntorsen commented on August 18, 2024 2

Working good now ๐Ÿ† @SjoenH

from flyt.

Linedueo avatar Linedueo commented on August 18, 2024 1

Versjonshistorikken blir visualisert som en timeline. Denne viser en oversikt over datoer hvor prosessen har blitt endret (oppsummert per dag)

from flyt.

Magos avatar Magos commented on August 18, 2024 1

I just built a version to dev, which should fix these issues

  • UserAccess DELETE is now handled by accessing the Accesses table, not the UserAccesses view.
  • Task-category links changelogging now uses explicit db calls rather than assuming the entity has its project entity included
  • Corrected the column name in the VsmUpdates db function.

from flyt.

ntorsen avatar ntorsen commented on August 18, 2024 1

Looks good @SjoenH ๐Ÿ‘

from flyt.

ntorsen avatar ntorsen commented on August 18, 2024 1

@SjoenH That's true. Sure, you can remove it ๐Ÿ‘

from flyt.

SjoenH avatar SjoenH commented on August 18, 2024 1

FYI. Ready in QA as well for some testing.
This one is a bit hard to test well, since we need changes spanning a couple of days...

I've done that testing in Dev environment, so I'm pretty confident that it's ok, but you might discover something else. ๐Ÿ˜„ So super if you can start some light testing of this. ๐Ÿ’ช

from flyt.

knudsvik avatar knudsvik commented on August 18, 2024 1

@SjoenH Created a process in QA, but it is not saved.. something's off.

from flyt.

ntorsen avatar ntorsen commented on August 18, 2024 1

@SjoenH Tried out new resolution select input, and Flyt does not seem to like it when I go back to the start on Seconds (both for Current and To-be process). Message "ERROR: Project contains no root onjects" pops up. If I select other versions other than the first one this is not a problem.
image

image

from flyt.

Magos avatar Magos commented on August 18, 2024 1

I've attempted a fix by returning the Update values instead of the PeriodStart values stored, but this is not late enough after the creation process to avoid making the version of the process without objects in it visible. At the moment, I'm inclined not to do more to hide this unless @knudsvik and @askbulle think it's important to hide.

from flyt.

SjoenH avatar SjoenH commented on August 18, 2024 1

@ntorsen fix is out in QA again. ๐Ÿงช

from flyt.

knudsvik avatar knudsvik commented on August 18, 2024

Should #192 be solved at the same time?

from flyt.

SegarJJ avatar SegarJJ commented on August 18, 2024

I was thinking this story could be split into two features. to ease us into it. One feature to view the changes on the VSM and another to allow the admin some method to start a rollback process, whatever it may include....

from flyt.

Magos avatar Magos commented on August 18, 2024

After technical exploration with @pagodo we have some conclusions:

  • The Temporal Tables feature of our database seem to be our best approach for this versioning feature, offering performance improvements over maintaining our own history tables with triggers and an improved syntax for querying the history.
  • This should minimize the alterations to existing code for CRUD operations.
  • In order to actually perform time travelling queries we have two options:
    • Drop down in abstraction to SQL instead of Entity Framework for these queries.
    • Update the API server to run on .Net 6, so we can access Entity Framework Core 6. Both of these technologies are currently considered release candidates, not finished releases.

from flyt.

pagodo avatar pagodo commented on August 18, 2024

Moving to a release candidate for the technology the api is based on is not a good idea, there is a good chance we will be left with a unstable system. The release of these versions is set to early november and we should at least wait with the prod release until the technology is formaly released and if we are to release a early version of dotnet6 we have to do extensive testing of the api. But we may do development targeting a release candidate

from flyt.

SjoenH avatar SjoenH commented on August 18, 2024

Maybe we should put this on hold untill @Linedueo have landed on designing functionality requirements with our POs?

We may consider supporting the release-candidate only for Flyt application if we find that the new functionality it provides is the best way to implement our versioning -requirements.

from flyt.

SjoenH avatar SjoenH commented on August 18, 2024

From Daily 29 sept:
It sounds like we probalbly should store all changes with timestamps in the back-end. (temporal tables etc)
Then it is a visualisation problem to pick good points. Or we could show them all like in Figma history view.

Talking with @Magos we believe that the view should be able to update quite quickly when selecting a prior state.

from flyt.

SjoenH avatar SjoenH commented on August 18, 2024

Sounds good @Linedueo.
Please update user-story and notify us when it's ready for development.

from flyt.

Linedueo avatar Linedueo commented on August 18, 2024

Skjermbilde 2021-10-19 kl  15 59 24

Versioning design @SjoenH Figma -> https://www.figma.com/file/IkHwmIQrsT0iR34f5R5UnZ/VSM?node-id=2702%3A102469

from flyt.

SjoenH avatar SjoenH commented on August 18, 2024

@Magos let's write some requirements when we have the time for it.

from flyt.

SjoenH avatar SjoenH commented on August 18, 2024

@Magos tells us that .Net6 is out! ๐Ÿฅณ

from flyt.

knudsvik avatar knudsvik commented on August 18, 2024

@SjoenH : New requirement for this feature. Update the delete/reset button explanatory texts, ref #192 . When a to-be process is reset, the version history will still keep the old version I guess.

from flyt.

SjoenH avatar SjoenH commented on August 18, 2024

API discussion.
Changing created and lastUpdated to a date.
The created object is used today to check if we are an admin, thus userAccesses needs to include the admin as well. (remove filter)

Remember: We want all connected vsmObjects (card) and task (PQIR) etcโ€ฆ -changes to be reflected in the process-changelog.

Aggregating the changes to one day.
Front-end or back-end? ๐Ÿค”
Are there any performance considerations here?

from flyt.

SjoenH avatar SjoenH commented on August 18, 2024

@Magos @SjoenH Let's have a quick chat later today

from flyt.

SjoenH avatar SjoenH commented on August 18, 2024

@Magos What you have done sounds good.

Aggregation is a front-end task as of now.

@Magos have looked at api-endpoint for process-changelog, but mentions that he could add endpoints for VSMObjects, and PQIR, but not implementing that at this time.

Let me know when it is ready for testing in Front-end. ๐Ÿ˜„

from flyt.

SjoenH avatar SjoenH commented on August 18, 2024

@Magos Would you take a look at this error?
I'm having trouble with removing users from a process.
Adding an example below.

DELETE https://api.statoil.com/app/vsm/dev/api/v1.0/userAccess/425/2356 
{
  "developerMessage": "The entity type 'UserAccess' is not mapped to a table, therefore the entities cannot be persisted to the database. Call 'ToTable' in 'OnModelCreating' to map it to a table.",
  "userMessage": "Server error, contact system responsible",
  "code": "500",
  "httpStatusCode": 500
}

from flyt.

SjoenH avatar SjoenH commented on August 18, 2024

@Magos Also trouble with adding categories to PQIRs.

POST https://api.statoil.com/app/vsm/dev/api/v1.0/taskCategory/link/140/432

{
  "developerMessage": "Object reference not set to an instance of an object.",
  "userMessage": "Server error, contact system responsible",
  "code": "500",
  "httpStatusCode": 500
}

from flyt.

SjoenH avatar SjoenH commented on August 18, 2024

@Magos I tested the new updates endpoint but I'm getting a 500 error.

GET https://api.statoil.com/app/vsm/dev/api/v1.0/project/425/updates

{
  "developerMessage": "Invalid column name 'SysStartTime'.\nCould not use view or function 'dbo.VsmUpdates' because of binding errors.",
  "userMessage": "Server error, contact system responsible",
  "code": "500",
  "httpStatusCode": 500
}

from flyt.

SjoenH avatar SjoenH commented on August 18, 2024

@Magos I'm back from my vacation now and will test your new build ๐Ÿ’ช

from flyt.

SjoenH avatar SjoenH commented on August 18, 2024

@Magos. Some initial testing.

  • Update endpoint now returns an array dates. #154 (comment)
  • Adding categories seems to work as expected. #154 (comment)
  • Removing a user from a process works #154 (comment)
  • But changing the role of a user gives error 500(?)

Error 500
The entity type 'UserAccess' is not mapped to a table, therefore the entities cannot be persisted to the database. Call 'ToTable' in 'OnModelCreating' to map it to a table.

from flyt.

Magos avatar Magos commented on August 18, 2024

Update-ruter som ikke fungerer pr nรฅ:

  • UserAccess
  • Object

from flyt.

SjoenH avatar SjoenH commented on August 18, 2024

Also, adding that there seems to be some issues with getting the process I want for a given date-time. asOf string not matching or something? Needs to be looked into.

from flyt.

SjoenH avatar SjoenH commented on August 18, 2024

@Magos Do you have an update on where we are at with versioning?

from flyt.

SjoenH avatar SjoenH commented on August 18, 2024

Had a talk with @Magos

Current status. API is now ready for further front-end development.

Updates should now be watched by the API and stored in history. So the issue I raised above should now be fixed.

from flyt.

SjoenH avatar SjoenH commented on August 18, 2024

I've updated the story with some requirements. Please let me know if it looks alright ๐Ÿ˜„ @ntorsen
#154 (comment)

from flyt.

SjoenH avatar SjoenH commented on August 18, 2024

@Magos I've released to Dev. Seems to work fine, except for selecting the first date. Could you help debug why that is? Example process

from flyt.

SjoenH avatar SjoenH commented on August 18, 2024

@ntorsen I want to remove the requirement - "User cannot delete a previous version. The button should be disabled to not confuse users." As it doesn't feel quite necessary... ๐Ÿค”
Delete warning is also clear about this:
Screenshot 2022-03-04 at 15 07 41

from flyt.

SjoenH avatar SjoenH commented on August 18, 2024

Update: API does not include Timezone information in the /updates-response. @Magos will take a look at adding it. ๐Ÿ‘

from flyt.

SjoenH avatar SjoenH commented on August 18, 2024

@knudsvik What number process?

@Magos could you help investigate? Also, seems like the sorting on the front-page is reversed...? Are we running the same in Test as in QA? ๐Ÿค”

from flyt.

knudsvik avatar knudsvik commented on August 18, 2024

Ahh, they are there, just reversed on the front page as you say

from flyt.

SjoenH avatar SjoenH commented on August 18, 2024

Super ๐Ÿ’ช

from flyt.

ntorsen avatar ntorsen commented on August 18, 2024

@Magos I get error 500 when I delete Problem, Questions and Ideas when testing. They do get deleted eventually, but this message pop up so it looks like it is having some problems. This is in Test environment.
image

Also problem with deleting Risk, but here comes code 400.
image

from flyt.

Magos avatar Magos commented on August 18, 2024

I deployed a fix for the 500 error, but the Risk report seems to be correct as such. Could you have been pressing delete before the front-end had updated after a change?

from flyt.

ntorsen avatar ntorsen commented on August 18, 2024

I deployed a fix for the 500 error, but the Risk report seems to be correct as such. Could you have been pressing delete before the front-end had updated after a change?

Working good now @Magos ๐Ÿคฉ
No trouble with Risk either, it could have been that I pressed deleted before front-end had updated after change.

from flyt.

SjoenH avatar SjoenH commented on August 18, 2024

@Magos is this something you want to improve? Looks like the first logged change in /updates is created before the process is ready.

from flyt.

SjoenH avatar SjoenH commented on August 18, 2024

@Magos To reproduce. Create a new process. Then the first returned timestamp in the /updates response does not exist.

from flyt.

SjoenH avatar SjoenH commented on August 18, 2024

Todo:

  • Remove second-resolution selection.

from flyt.

SjoenH avatar SjoenH commented on August 18, 2024

I've removed the second resolution and released to QA again. @ntorsen Would you please do a final test of everything before we plan the release?

from flyt.

ntorsen avatar ntorsen commented on August 18, 2024

@SjoenH here are some feedback from testing done in QA environment.
User requirements for testing โœ”
Second-resolution selection is removed โœ”
Deleting PQIRs is working as expected โœ”

Other remarks:

  • If you copy the URL of a previous version and opening it in a new window, you will see that that version is visible. However, when looking at cards for more info a "invalid process type" message pops up as well as a 500 internal server error. This does not happen for all cards, but in this case it happened on a blue and yellow card.
    image

  • Going back in time (to the start) when selecting Minute-resolution selection, same message as for Second-resolution comes up:
    image

from flyt.

SjoenH avatar SjoenH commented on August 18, 2024

@ntorsen can you reproduce the error with a new process?

from flyt.

SjoenH avatar SjoenH commented on August 18, 2024

@ntorsen I'll look into the 500 errors.

To reproduce: delete a card, navigate back to when it existed and try to open it.

This is a front-end bug.... thus moving this back into in-progress. ๐Ÿ‘

from flyt.

ntorsen avatar ntorsen commented on August 18, 2024

@SjoenH able to recreate it by deleting a card --> navigate back to when it existed --> copy URL into a new window (incognito) --> clicking on deleted card to view it
image

(reproduced with a new process also)

from flyt.

SjoenH avatar SjoenH commented on August 18, 2024

โณ ๐Ÿš€ @knudsvik @askbulle
We have some changes that requires downtime. We are planning to release at 11:45.
Estimated downtime up to 1 hour.


@Magos

  • Database. Schema changes. Activate system-versioning (or whatever it is called...)
  • Code
  • Some changes related to solving tasks.

Frontend
Push out what's in QA and bump version + change-log.

from flyt.

Related Issues (20)

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.