Iron:router waitOn issues - meteor

Im using Iron:router and meteor-node-csv, after uploading a file i want to read each row of it and insert it on a collection, but when i process the file the whole web freeze (buttons dont respond). Time ago this same code worked 100% fine, after some upgrades it started working like this.
So, after a lot of testing a partner found that the waitOn is a flag here.
If i process the file and try to navigate to a route having a subscription to any other collections it freeze.
If i process the file and try to navigate to a route without a subscription it works perfect

If your file is big, then reactivity is causing this issue. There are variations of that on stackoverflow in a few questions. My recommendation, described here, is to disable reactivity while processing data. You can do that using a "guard" around reactive elements, e.g., using a session variable as described in the linked answer.

Related

Per-asset versioning

Until now I have been using the standard "assets.version" configuration directive for the versioning of my assets. I am releasing a new production quite frequently (once a week or more). So if I change a single asset (e.g. javascript file), I increment my "version counter".
Here is my problem with this system: Changing a single line in an asset causes the invalidation of all assets of the whole application! This means that every weeks, users connecting to my application will re-download all assets! This appear to be quite inefficient to me...
My Question: is there a smarter system? for example we could imagine a console command to execute before each release that would track changes of every assets (using e.g. md5) and save the version to be used for every single asset? This way, only modified assets would be re-downloaded...
I know I can develop my own service and use assets.version_strategy like in this example But, before re-inventing the wheel, I would like to know if nothing similar already exists? It seams to me that every one should be using such a solution...
Thank you!
Vincent

Changing Django/Aldryn boilerplate

I have created a project (and invested significant time & effort on it :-) ) .
When I try to add add-ons it complaints about some missing bits and pieces. Looking around, the root cause seems to be that I created this with the default barebones boilerplate, instead of the richer bootstrap3 boilerplate.
However, there is no option I can find to change the boilerplate. Is it possible to change the boilerplate it is built on? Is there a magic concoction...?
An Aldryn employee helped me out in their chatroom with this problem -- if you're trying to make changes on your templates and whatnot locally, and they aren't being reflected on the site when you deploy the test server, you can get things re-synched by totally deleting your local files, opening the test server with the desktop client, and clicking on the "auto-sync this project" button. This takes what's on the test server, and rebuilds the local files on your computer with that. Then, your local changes (remember to save your changes first!) should be reflected when you deploy the test server (after clicking on the "Refresh Projects" button in the lower righthand corner of the desktop client).
If you have a ton of work that you'd rather not delete and rewrite, you can move your local files elsewhere on your hard drive, and then replace the files that are written from the test server with them.
Cheers to Angelo for helping me with that. It's kind of a quirky solution, and I'd have never figured it out on my own.
You can also add custom boilerplates here (I think that'll make you log in to your account to see it), but I haven't attempted a custom boilerplate, yet, so I can't vouch for how well one would jive with the rest of the Aldryn platform.
EDIT: I forgot to mention that, while the title is unlikely to grab the interest of somebody who's making their own boilerplates, the first two or three entries in this series could be quite helpful in implementing your custom work into Aldryn's framework.

Alfresco failed to find new folder

I'm using alfresco throw cmis.
On one of our environment, we have an issue.
We want to create a folder and put some docs in it.
This works fines in all our env except one.
In this one, we can create the folder.
But when we do a search to find the folder, the folder isn't found.
After that i can find it with the share gui.
I have no error message in the share app.
Does any one have an idea on what could be the issue?
Promoting a comment to an answer...
When using Alfresco with SOLR, you need to be aware that the SOLR index isn't quite real-time. Close to real time, sure, but it's asynchronous so there's always a lag. (It's an eventually consistent index, not a fully realtime one)
There's a lot of information on the Alfresco and SOLR Wiki, including the way you can query what the current lag is.
If the lag is very low (eg a lightly loaded system), you can find that SOLR will catch up almost instantly, and newly created items will show instantly in the search results. However, it's more normal to expect to have to wait a little bit, especially on more loaded systems.
If no new results are showing up even after several minutes, you'll want to follow the instructions on the wiki or the SOLR Monitoring and Troubleshooting docs to work out why and fix.

Real time collaboration with CodeMirror

I started this little project where I would do real time collaboration on code using CodeMirror.
I have a msgs system setup such its easy to pass objects from one user to another. My problem is getting it integrated with CodeMirror. I found out that it have events for onchange and a replaceRange(string, from, to).
I pass the onchange objects to the other users and uses the replaceRange to update the view. Problem is then when using replaceRange, it triggers an new onchange and it sends msgs back and forward. Anyone know if there are some way of updating the local view without it triggering an onchange. Or suggestings for other paths to take. (the msgs system is already set up and its easy to pass javascript objects to other clients).
You Can Use Firepad
FirePad is an open-source (on GitHub) realtime collaborative plug-in to codemirror. You can get it setup with codemirror in 4 extra lines of code and a few minutes. It's uses Firebase for the backend.
To get this to work properly, you'll have to merge changes as well. See http://ot.substance.io/ for a demo of an open-source solution (also using CodeMirror).

Livecycle - Alfresco Content Services incorrectly deleting files

There appears to be a slight problem with my Livecycle server with regards to documents suddenly disappearing!
After looking around, it seems that the documents are not deleted completely, but moved to another folder ('livecycle\content\lccs_data\contentstore.deleted'). Thankfully these 'deleted' documents can simply be moved back to the contentstore. Livecycle's ContentServices uses Alfresco, and I found the following with regards to this automated deleting of documents:
http://wiki.alfresco.com/wiki/Content_Store_Configuration
For now, I will attempt to remove this functionality (removing the StoreCleaner's listener, so no action will be taken), but I'm unsure as to whether removing the finding of orphaned documents could be detremental to the system.
Is there anyone who knows exactly why the system is incorrectly flagging files as orphaned and then removing them? In the Livecycle adminui I can still see the documents that have been deleted, so at least the UI is still holding references to them.
I'm using LiveCycle quite a bit and no problem here. I'm doing custom Alfresco stuff all the place and no disappearing doc's here.
I guess there might be some custom rules/js LiveCycle process who flags the doc's. So check al these and try to analyze it more in depth, so we can help out.
Does they get deleted randomly, or just from specific folders, try to turn off the rules to check if it still happens.
And if it still occurs, just log a call at Adobe, you never know what Adobe has build in it ;)

Resources