-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor the data class in teal #41
Comments
@insightsengineering/nest-core-dev
We need to rethink this. teal.data is a blocker for other teal framework packages so teal.data has to go to CRAN first. I thought of couple options: Option 1
Option 2
Option 3 (what's currently suggested)
I think option 3 is quite risky and could affect our CRAN timeline. Please let me know that you think. |
I think it would be really awkward to upload teal.data to CRAN as a first official release and have deprecation messages already. If we do not think 3 is feasible in the timeline we hoped it go get done, then I would suggest
|
I agree with Marcin on the initial deprecation message release, also believe in providing users ample time to adapt to the changes for a smoother transition.Option 1 with approach is to first upload the current main version to CRAN without the soft-deprecation messages, and then follow up with another version containing the deprecated messages, which I believe would be an improved approach. |
Now for some unpopular opinion.
What if? P.S While typing this I see how insane this scenario is |
I don't understand this proposition |
Nevermind, I was just thinking out loud. We scraped my proposition in the daily :) |
@m7pr makes the most sense to me. |
Although I perfectly understand the struggle of "don't want to show my code to the world unless it's the best version", the "cost" seems too high to justify Option 3. @m7pr's proposal looks optimal to me. This can also help to largely de-risk our upcoming PI, or any foreseen/unforeseen impact from the major refactor. It will allow us to keep the target of releasing the whole teal framework by end of year. |
We still have this week + next 2 weeks before the next increment starts. Maybe we can merge refactor within 3 weeks, and then we can release the |
My opinion is probably deeply ignorant but I don't think adjusting refactor pace to release schedule is the right way to go. I think it's better to put some effort in the refactor (which I firmly believe we can finish by the end of the year) than release prematurely. Having deprecation warnings in the first (CRAN) release may be a tad confusing and may undermine user confidence in the product as a whole. |
If there refactor finishes at the end of the year, then I think it's fine to release current |
I suggest to go with initial plan:
Thanks to above teal.data won't be postponed.
Releasing long awaited package to CRAN and making API changes soon after is not a good idea. We will have to support users using old version and new version |
Thanks @gogonzo for the message. I just dont understand what you want to
Totally, but we will support this only by some small period of time. |
I bet someone from NEST will announce "teal.data is on CRAN" and we will have a problem. |
got it. agree that we should release the final product to prevent supporting both versions and prevent people becoming discouraged becuase they need to learn new version, once they invested the time and the energy to learning the first version which is not finished |
We re-discussed our strategy again and updated the original comment with the new agreed release plan and timeline. |
fixes #842 part of insightsengineering/nestdevs-tasks#41 insightsengineering/teal.data#184 - [x] add thenews section for change. - [x] update the examples in the documentation to pass teal_data. - [x] update join_keys calls once the pull request is completed at insightsengineering/teal.data#184. - [x] Revise and update the vignettes accordingly. - [ ] make version bump once insightsengineering/teal.data#184. is merged. --------- Co-authored-by: 27856297+dependabot-preview[bot]@users.noreply.github.com <27856297+dependabot-preview[bot]@users.noreply.github.com> Co-authored-by: vedhav <vedhaviyash4@gmail.com>
Refactor is completed. |
fixes #243 part of insightsengineering/nestdevs-tasks#41 insightsengineering/teal.data#184 - [x] add the news section for change. - [x] update the examples in the documentation to pass teal_data. - [x] update join_keys calls once the pull request is completed at insightsengineering/teal.data#184. - [x] Revise and update the vignettes accordingly. - [ ] make version bump once insightsengineering/teal.data#184. is merged. --------- Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: 27856297+dependabot-preview[bot]@users.noreply.github.com <27856297+dependabot-preview[bot]@users.noreply.github.com> Co-authored-by: vedhav <vedhaviyash4@gmail.com>
Summary
We're improving the teal's data class (tdata, TealData, etc) and how it's being used in teal framework.
Read the milestone description here
1. Introduction of
teal_data
Target: done by first week of sprint 1 (1 week)
data
refactor teal#8952. Task to do after the foundation code is merged:
Target: done by end of sprint 1
teal_data
teal.data#174new_teal_data
arguments teal.data#169within.qenv
teal.code#127CHECKPOINT
sprint 1
3. Introduction of
ddl
Target: done by the end of sprint 2
teal_data
teal.data#182Release teal internally after we merge DDL PR.4. Introducing
teal_data
to the modulesTarget: start this part by in sprint 3
Replacing
data
argument fromtdata
toteal_data
will introduce breaking change. Problems in teal.transform can be mitigated by making "patches", this will give us possibility to release teal even ifteal.transform
isn't a final version.teal.data
classes and clean documentation to contain only teal_data.datasets
arg indata_extract_srv
,merge_expression_srv
to work withteal_data
teal.transform#159teal_data
instead oftdata
teal.modules.general#588teal_data
instead oftdata
teal.modules.clinical#838teal_data
instead oftdata
teal.modules.hermes#338teal_data
instead oftdata
teal.osprey#230teal_data
instead oftdata
teal.goshawk#242TealData
withteal_data
in the vignettes + Usingteal_data_module
teal#960teal_data
teal.data#174teal_data
refactor teal#984join_keys
vignette teal.data#202Q: Instruction on migration, should we write vignette (static) or other platform, i.e. GitHub Discussion?
A: We will use GitHub Discussion insightsengineering/teal#945
Q: We have functions (or PR) to support upgrade and downgrade of
teal_data
. Does this mean we need to keep old classes (i.e. TealData)? How long do we want to support these functions?A: We're not supporting the old ways. As discussed and agreed upon, the next release will be breaking change.
5. Release teal packages to CRAN
Target: start releasing in the beginning of Jan 2024
teal.code
teal.data
teal.slice
teal.transform
teal
teal.modules.general
Breaking changes should not occur once sent on CRAN.
UPDATE: Release of teal frameworks (not module), will be done here: #42
Related issues for later
data
module teal#860Addressing step 1-4 automatically closes:
Dataset$recreate
callingDataset$initialize
is confusing teal.data#26set_ui
forTealData
teal.data#109Definition of Done
teal_data
andddl
class with the implementation to teal and teal modules packages by end of Dec 2023.The text was updated successfully, but these errors were encountered: