I am trying to download MRTK by following https://microsoft.github.io/MixedRealityToolkit-Unity/Documentation/GettingStartedWithTheMRTK.html. But on the Assests folder on GitHub for MRTK, I cannot find the two packages below mentioned:
Microsoft.MixedRealityToolkit.Unity.Examples.unitypackage
Microsoft.MixedRealityToolkit.Unity.Foundation.unitypackage
Did I miss anything simple?
The exact naming of the packages is going to be different from release to release because the version number increases each time a new version is published.
The docs will say something like
"Microsoft.MixedRealityToolkit.Unity.Examples.unitypackage"
But the latest right now actually is named:
"Microsoft.MixedReality.Toolkit.Unity.Examples-v2.0.0-RC2.1.unitypackage"
It's kinda done this way to reduce the number of things that have to get changed with each release (i.e. making sure that every single instance of the naming of a version stays up to date can be somewhat risk prone in terms of missing things, so when possible if we can just say "grab the latest package" or "grab the thing that is the examples package" it also helps to reduce the number of version mismatches out there).
So to be super clear here, basically go to the releases page:
https://github.com/microsoft/MixedRealityToolkit-Unity/releases
Scroll to the bottom of the the latest release and expand the Assets expando and get the two unitypackages:
https://github.com/microsoft/MixedRealityToolkit-Unity/releases/download/v2.0.0-RC2.1/Microsoft.MixedReality.Toolkit.Unity.Examples-v2.0.0-RC2.1.unitypackage
https://github.com/microsoft/MixedRealityToolkit-Unity/releases/download/v2.0.0-RC2.1/Microsoft.MixedReality.Toolkit.Unity.Foundation-v2.0.0-RC2.1.unitypackage
Would it be helpful to document the packages as
Microsoft.MixedRealityToolkit.Unity.Foundation[Version].unitypackage
Related
So, I am working on a project that includes having a live follow count on it, so how do I add it? I also do not know how I can acsess the api base from inside the project.
I have wondered and I have not came up with a viable solution.
That is not possible, but it might be upcoming in a later Scratch version. For now that is beyond the limits of scratch. You can make a view counter that updates a cloud variable by one every time a project is loaded, but users could autoclick and cheat the system so that it would provide incorrect values.
The problem occurs to me using Perl5 for programming and Dist::Zilla (dzil) for deploying to CPAN. But the question is probably a general one, meaning independent of the programming language.
Problem description
Assuming I'm releasing a new version 0.1 of the module Foo with a new feature called bar. I would like to release it as a trial release (dzil build --trial), to be able the get feedback on the change without forcing it onto unaware users. When I'm doing so using my toolchain, the Changes file will look something like this:
1 Revision history for Foo
2
3 0.1 2019-06-19 17:49:09+02:00 Continent/City (TRIAL RELEASE)
4 - added bar
The packed distribution (for upload to CPAN) is a file like so: Foo-0.1-TRIAL.tar.gz
Until here, everything was easy. But from now on, I'm unsure how to react to upcoming events:
Feedback is positive. No changes needed. Bring the release in production.
How should the new (but unaltered) release look like?
Should I do a release with the same version or count the version up? Should I add a new line to the Changes file (e.g "bring trial 0.1 into production") or alter the existing one (meaning just removing the (TRIAL RELEASE)).
Feedback is negative. Changes needed. Add feature/change baz.
Same questions here. The new change surely needs a mention in Changes. But again: Count version up, or let it be? Make a new entry to Changes or alter the existing one?
This is one of these questions where I feel like: it probably doesn't matter to much, but there must be a "best practice". And in the long term it kind of pays of doing it right.
Question
How should I continue with version numbering and Changes file, after doing a trial release to specifically CPAN?
(General answers, which are independent from Perl and CPAN are also of interest)
My general advice is: if the TRIAL turns out to be a resounding success and there are zero changes aside from releasing the same thing without --trial, you can reuse the version, since at runtime the two tarballs will have identical behavior. If you have to make any changes that may affect users or tests, bump the version. If you're unsure, bump the version -- versions are free. Remember that without a distinct version, other distributions can't distinguish the changes in their dependencies, CPAN clients can't request a specific version easily, etc.
As far as the changelog, it may help that MetaCPAN now includes the changes for any trial releases leading up to the stable release in its changes preview, provided it can parse your changelog and the trial releases are marked as such. (example) So I would just include an entry for each distinct version.
For example: easeljs-NEXT.js
I sense that the NEXT in caps has meaning, but don't know what.
I've tried searching on Bing, for example "what does NEXT mean in a filename".
Also tried a similar search here in stackoverflow with no result.
CreateJS contributor here.
The "NEXT" naming is the file convention we have chosen for the upcoming/in-progress version of CreateJS libraries. Typically, we commit changes/fixes over a period of time, and then eventually tag a new version that gets put on the CDN and (ideally/eventually) included in an updated version of Adobe Animate.
Due to our testing process, and inter-reliance across libraries (Preload, Sound, Easel, Tween), we are pretty conservative when it comes to making official builds. This is our way of making sure there are easy-to-use, compiled builds in GitHub with the latest features, fixes, and documentation. They aren't "official releases", as they might not play well with other content.
Releases:
easeljs.js (with comments and whitepace, good for testing)
easeljs.min.js (minified)
Upcoming/Latest
easeljs-NEXT.js
easeljs-NEXT.min.js
Prior to version 1.0, we used version names:
easeljs-0.6.2.min.js
easeljs-0.6.2.combined.js (the old testing version, not included on CDN)
You can also find "Combined" scripts on the CDN (and other CDNs) that have all 4 libs included. We didn't build NEXT versions of these, since they would be prone to issues:
1.0.0/createjs.js
1.0.0/createjs.min.js
Again, before 1.0, we used a version, which for combined libs was a release date, since they actual version numbers of the libs didn't all align.
createjs-2015.11.26.min.js
createjs-2015.11.26.combined.js
We are working on improving our release schedule, so there are more official releases than in the past. Hope that provides some insight!
https://github.com/MobileChromeApps/mobile-chrome-apps allows Chrome Apps to work on mobile.
Their getting started wiki is really good to get things working but it generates a lot of files with absolute paths. Nothing is said about which files to keep under source control.
At the moment I'm using each build: $ cca create YourApp --link-to=path/to/manifest.json which seems just wrong (for example the config.xml is lost).
TLDR; www/ is by far the most important. For the rest, just control what you edit, and trust that cca create --link-to= will re-create the project in a good state.
The files generated during cca create fall into two main buckets:
Your application; This obviously includes everything in the www/ folder, but also config.xml, merges/ (optional), and hooks/ (optional).
cordova/cca build artifacts; This includes plaforms/ and plugins/, and, well, anything else :)
Absolutely you should version control #1. Many developers don't actually use merges/ or hooks/ (at least at first), and config.xml is actually auto-generated during cca create using values from your www/manifest.json, so its fine to not version it unless you made manual edits. We realize its common to add <preference>'s there, so we are working on adding support for importing merges/ hooks/ and config.xml using --link-to=path/to/config.xml. Sorry if you need this feature today, please follow this issue to find out when it is resolves in cca.
As for #2, that depends on your preference. If you are making edits directly to the native bits of the platforms, then you should absolutely add those to version control. Or, if you want 100% control over how those bits evolve and you are 100% happy with the way the projects are working for you today, then sure, add them to version control.
However, we (cca and cordova developers) are constantly fixing, evolving, and improving platforms/ and plugins/, and by far the easiest way to "upgrade" your project right now is to just re-create it. We try very hard to be backwards compatible (and yell loud when we aren't), so you should have considerable confidence that a project today will work at least as well created next week.
Personally, I keep only #1 in version control, and re-create projects often (whenever the tools update, hey its quick!). Its not been an issue yet. I think the cca create --link-to=path-to-app syntax really helps here, and we are considering adding support for a cca update to make this even easier, eventually.
Finally, one developer working with cca has blogged about his experience, and one of the topics he covers is what to check in. He came to the same conclusion as we suggest.
Good Luck!
I've got a (dirty) production installation of Simple Machines Forum (SMF 1.1.13). It was a clean install, once... about five years, twenty updates, and 40 mods ago. Not to mention the custom code that was patched directly into the code base. This started as a for-fun side project, and didn't have any code management practices at the get-go.
Now SMF 2 is (getting closer to) going live, and I want to upgrade. But without leaving the custom features behind.
Keep reading, this is a general software management question, not an SMF support question...
I'm trying to figure out the best way to port the custom features into the new code branch.
In some cases, the custom 1.1.x functionality will already exist in 2.0. Yay, no work for me!
In some cases, there will be mod packages versioned for 2.0, and I can just install them directly on a clean SMF 2 build. Yay, minimal work for me!
In some cases, the code port will be fairly straightforward between the two versions (e.g. a few small changes in queries or global variable construction). (I've ported a few features/mods back from 2.0 to 1.1.x, so I'm starting to get familiar with it.)
In some cases, I'm just going to have to redevelop the features mostly from scratch.
Those last two options are gonna be hard to manage.
Any suggestions on how to port a large number of changes from one branch to another?
When it's not my own in-house code, that is. Here's my initial plan:
Diff between a clean version of 1.1.x and my "dirty" production code
Map each line diff to a feature ("That code update is the custom tagging feature, gonna have to port it line by line, and that one over there is the gallery, I can probably install an updated mod.") This would be SOMUCHEASIER if there were a diff tool that generated a consolidated report, instead of having to go through scores of files one at a time. Google and SO searches didn't find a tool like that-- Is there one?
Install a clean 2.0 branch
Install the available updated mods
Roll up my sleeves and go through my diffs feature by feature (this? is why I need the consolidated diff report. It would be hell to do page by page.) and build them back in.
Any better ideas? (Pointers to release management info are welcome, though of course with the caveat that it's not actually my code so I have limited control.)
Otherwise? I fear my options are ditch the custom features (not really feasible) or stay on the old branch. Both suck. Help!
tl;dr: Point me to a diff tool that will do consolidated file-by-file diff reports for entire directories. And/or help me figure out an easier way to migrate my custom code.
Your plan is generally the most practical approach, although I would say that you're heading in the wrong direction by looking for code-level differences. With no version control over the project lifetime and with no concise record of applied changes, in examining differences at the code level you are looking for a level of detail that may not give you the information you need to apply the same changes to a new implementation.
Move away from thinking of code-level changes and consider application-level feature and behavioural changes. What features have your changes introduced? In what ways does your application now behave differently due to your changes?
You say that there have been many unversioned changes over a long period - you will fail to find all the changes no matter what tools you have at your disposal and you will still need to consider the feature and behavioural changes that exist to fully represent the same features and behaviours in any upgraded implementation.
You know your application well, you use it and you do appreciate the feature changes that you have introduced even if you may not realise this.
Install a vanilla 2.0 release
Apply all appropriate mods
Apply relevant styling
Use the new system, note the differences in behaviour and develop from this a set of required features
Your feature set does not need to be complete - don't stall at the stage of trying to figure out all required changes, this will take too long.
Apply features gathered from most recent feedback (ideally through revertable mods)
Note the differences in behaviour at develop from this a set of required features
Repeat