Sharepoint: DLLs disappearing from the GAC - sharepoint

I'm fairly new to SharePoint but I'm learning fast. However, I've encountered a confounding issue that has me completely stumped, and the internet hasn't been able to provide anything useful as of yet...
I'm running SharePoint 2010 in a VM, and I am getting a repeated issue with libraries spontaneously disappearing from the GAC. This is happening on average about once a day at the moment, but at different times of day and with no apparent trigger. The VM I am running (and the source code thereon) are identical to my colleagues', yet I am the only one to have encountered this issue. I have rebuilt my environment several times and thought I'd cracked it with this latest one, but the issue has just reoccurred. Since it happens at different times of day I don't think it can be a timer job, and it can happen spontaneously with no user input (no changes to code, settings, environment, anything).
I can provide more details of the libraries affected if required, although it seems to be a mixture of proprietary libraries specific to the project, and standard Microsoft assemblies.
Any help or pointers would be gratefully received!

Had the same issue. I fixed it by recompiling one the conflicting dll files with a different version number and some different number. Then i made sure that every webpart that uses this dll had this dll in their individual sharepoint package, then i deployed the webparts again and this time they didnt disappear.
I also found out that disappearing was not random and was the result after another webpart was being installed. Pretty weird.

Related

Microsoft Acess - incompatibility between Windows 7/Office 2013 and Windows 10/Office 365

We have a small MS Access database shared between staff in an office. Recently the company upgraded my computer to Windows 10 and Office 365. Now when I use the database, it sometimes causes it to fail for other users who are using Windows 7 and Office 2013. I didn't make any changes to the database structure or programming or anything.
When the other users try to open the database after I have used it, some of the symptoms they are seeing are: a small flickering window that appears when they first open it, having to click twice in a text box in a form to get the cursor to appear, and having the database crash (gives an error message and opens the VBA window) when trying an operation that involves VBA code.
Do you know what might be going on? Is this a known issue? Is there any good way to fix it (other than getting everyone on the same operating system or maybe splitting the database, which I don't really want to try)? (I tried reverting to a back-up of the database, which fixed the problem until I entered more data into one of the tables, then the problem came back again.)
You really should not have simultaneous users with different Windows/Office versions working on the same front-end.
Access only stores a single copy of compiled code, with references to at least its own libraries. This copy is only compatible with the same major version of Access.
If you have two different versions of Access working on the same file, the code will need to be recompiled constantly, causing delays, possible weird behaviour, and possible VB Project corruption.
Split the database, and make sure front-ends are not shared between different versions of any of the DLLs Access is referencing (or, ideally, not shared at all). Different versions of Office is a common culprit, different Windows versions matter less often.
Is you Access file using any other Office functionality (Word, Excel, Outlook)? If it does, when you open it in Office 365 it links to the references for the newer versions of these products breaking the references for anyone that has the older versions.
The only way around that is to split the database and have different front ends for each version of Access. They can still share the same data (back-end).
Splitting the database is not really complicated. Just make two copies of the database. On one (front end) delete all tables and queries and then link them from the other one (back end). You will have some redundancy that can be cleaned up later in your back end (for example all forms/reports can be deleted form the back end), but other than that is all there is.

Domino Designer not syncing properly

In a rather complex project the entire project team is encountering more and more problems regarding designer, like frequent crashes, exceeding of memory limits and- most annoying - problems with outdated project data:
quite often we observe that two different designer clients are showing different versions of project data (see below for a rough description of the environment).
A simple example: an hour ago a co-worker asked me to open and test a new Xpage she had created 15 minutes ago in her Designer. In my Designer client however the new Xpage was not present yet. right-clicking my application and hitting "refresh" brought up the new Xpage.
The problem hits the ceiling with design elements that we both are working on in turns (as in "are you currently working on xpage XXX? I'd like to add..."). So with this syncing delay the problem is obvious: If I foirget to manually sync my project before adding stuff I will overwrite the co-workers' codings.
We never had this problem before, although I have to admit that we never had to work in a team on such a massive project.
Here's the setup:
all designer clients are 9.0.1 FP6
everyone is working on the same project stored on the same server
everyone is working on the same network withion the same building, just door-to-door
Is there something we could do or check to improve this situation?
Lothar, you have stated three problems at once. I'll try dissect them.
Frequent crashes:
We experienced many, many crashes in our daily work after upgrading to Windows 10. I know it sounds silly, but one way it worked for us and successfully mitigated those crashes was installing IBM Designer into C:\IBM\Notes, instead of C:\Program Files\IBM\Notes.
Granting 'Full Access' to 'All Users' over that folder was also necessary.
Exceeding of memory limits: As jtomas correctly pointed out, default memory settings are not enough for heavy xpages development in Domino Designer. I would suggest going to vmarg.Xmx=-Xmx1024m.
Problems with outdated project data: I think there is no workaround for this problem because there is no problem. Domino Designer 9 is a Eclipse based software, and works like so.
Think about it: When working in Java projects, developers download (checkout) source files from a Source Control System (SVN, Git, etc) and work them locally. Whenever a developer modifies or create a file, another developer can see it only if:
a) The modified/new file has been uploaded (commit) to Source Control Repository; and
b) Other developers have synchronized (refresh) their local projects with the repository.
See, that's how Java development works and that's the way we should do it too. Upon opening a NSF file, Domino Designer breaks it down into many files, just like a Java project. Once locally saved into the Java Virtual File System, those files get updates only when you refresh the project. Silly, but it is what it is.
My recipe to a well succeeded Domino development team include:
1) Design locking: All developers must explicitly lock elements they will work on. We don't rely on implicit locks.
2) Communications: All members of the team must be immediately notified whenever a developer has made major updates to the project.
3) Source Control: Despite its pitfalls, we rely heavily on SVN as code repository. It's far from perfect, and merges don't work properly, but it's better than no control.
Hope it helps.
I'm not sure this will fix your syncing issue but I have found modifying the following 3 lines in your local Notes\framework\rcp\deploy\jvm.properties file to help with Designer performance when developing in XPages especially with large projects:
vmarg.Xmx=-Xmx512m
vmarg.Xms=-Xms48m
vmarg.Xmca=-Xmca512k
These are the memory limits I use. You can increase the limits just make sure they are a multiple of 4. You have to restart Notes & Designer for changes to take effect.

SharePoint Foundation 2013 - Advise on using PowerShell to remove old files?

So, i am stuck in an awkward situation. My employer is deploying a new service, and decided to use SP Foundation 2013 (for reasons i can't understand, other than cost i assume).
The problem is, they tacked on the requirement that old files be automatically removed after 30 days. As it is, they wont approve any additional programs on the server (it is already in "production"), and Foundation itself specifically has the information management portions removed.
So, as i understand it, i think my only hope might be PowerShell (which is allowed, and would be close enough to "automatic" that it should work for that requirement). Problem is, I can't really find any concrete information on if it can work, or how i would do it. Anyone have any advice? It literally is nothing more than removing files (not folders) older than 30 days..

MS Office 97 ODE setup wizard hangs with message "Path not found"

I have a customer using the Access 97 runtime to support part of their product. Ideally, given the budget to do so, I would have replaced that dinosaur by this point, but that isn't an option today. I am not the system's original author, but am attempting to provide ongoing support.
To distribute this to their customers, they bought the Office 97 Developer Edition Tools, and once every few years they go through its Setup Wizard to package a new distribution.
This time, the Setup Wizard appears to reach a point where it wants to do something with AXDIST.EXE, and instead puts up a dialog box saying only "Path not found". The only reference I've located on the web is a tantalizing glimpse of a page from a domain that no longer exists, where Google has purged the cache retaining only the sentence that appears with the search result. It isn't enough of a hint to help me...
(Edit: Aside from lots of reported issues caused by AXDIST.EXE itself, or installations that are trying to use AXDIST.EXE in some way, that is. Our issue is a problem during the creation of a setup package using the ODE setup wizard. Its own documentation only references AXDIST in one place, and does not contain the text "path not found" at all.)
(Edit 2: Further investigation reveals that AXDIST.EXE itself is not the culprit. Removing that file from the setup wizard's list caused the wizard to stop on the next file in the list. There does not appear to be any significant differences between the description of the file on which it stopped, and the dozen or so files listed above it that were successfully processed. I'm guessing at this point that the resolution is going to be manually recreating the template from scratch, which would be a lot easier if it weren't trapped inside a horrible UI and stored in the form of an Access database containing a bunch of undocumented tables.)
My question is this: What mistake did we make this time with the setup wizard, and how can we fix it?
The issue turned out to be related to a feature of the Access run time that was explicitly listed in the setup wizard, but should have been left for the wizard to infer.
My general advice to anyone also stuck with dealing with the wizard would be to go back to the start and review all the settings carefully and methodically.

Promoting MOSS '07 Sites From Dev To Production

So, maybe I'm a bit old-school, but when we created websites in the past, we'd develop the site on a development server, then publish or promote the pages and files to the production server. This has always seemed to be a good way to go so that users didn't see messed up pages or (God forbid) a downed server because one of us screwed up.
But it doesn't seem that Microsoft had this idea in mind when they created SharePoint...at least, I haven't been able to find a way to do this in the infrastructure as it's defined.
Does anyone know if there's a management strategy for SharePoint development? I've read online that we can make a backup of the development environment and restore to the production server. That might work the first time, but any updates to the production server can't do that without risking data loss on the production server. I've seen some tools out there for migrating list contents, pages and documents from one server to another--although, admittedly, I've not yet investigated them.
But, another concern of mine is custom content types. It seems that once a list is using a content type, you can't update it without deleting the items from the list, disassociating the content type, and reassociating the content type. Shouldn't there be some way to UPGRADE a content type?
Anyway, if you have any suggestions for any of these current dilemas, I would LOVE to hear from you.
Thanks in advance,
Dan
Thank you for your quick reply.
We already have several features created for our site and a solution package bundling features directed at the fundamentals (content types, columns, etc), and another solution for features having to do with branding (page layouts, master pages, etc.)
But it seems like this is a one-time-shot...basically, it gets our server set up, right? Once people have started using the production environment, we're going to have documents, pages, list items all existing in our content database, and it'll be impossible to update things like content types, columns.
Features you have to deactivate and uninstall before you can install and activate the new feature, right? I've seen a Version property on the feature definition, but as near as I can tell, this doesn't do anything. Solutions seem like they can be upgrade by incrementing the version number, but it doesn't seem to modify things like content types and columns--especially if they're in use. Plus, I'm not sure how extensive the upgrade with solutions is.
There's precious-little documentation out there for this sort of thing. It seems like everything I'm reading is how to get your SharePoint server set up initially...not managing it long term.
Do you have any advice or suggestions?
Thank you all for your suggestions.
But we've been working on this site for over a year now. I'm pretty confident that we're already setup according to what most of you are recommending. We already have several features that install things like content types, columns, master pages, page layouts, and workflows. Most of these features are contained within solution packages. We have all of our development environments set up as VPC servers.
So, I have the initial deployment pretty much set. What I'm REALLY hoping to find out is how I can upgrade things like content types and columns and stuff down the road. Is it possible to change content types once they're in use? Because it doesn't seem, based on my initial testing, that this is possible. I'm not to worried about the assemblies because it looks like they swap out just fine, but the only way I've gotten a content type updated is by deleting any items referencing them (i.e. all the pages in my pages library), removing the content type, then re-adding it.
Do any of you know if there's a way to update a content type AFTER the initial deployment? ...when users have already created items based on the content types we've already deployed?
(The other part of my question was actually moving existing pages from the development server to production, but I can live without that. My major worry is the content types.)
The best way to go is developing with features. Once the features are done, you ca deploy them with Solution package (called WSP).
The only thing left to do is to reactivate those features. That way, you can progressively roll-out new features without having to do everything in production.
WSPBuilder is an application that helps you build WSP.
For automating all of this... good luck. There is a lot of work involved.
UPDATE:
Deploying Content Types and Columns are tricky. Once the website has been created, you can't update them anymore through features. You need to go through the code and recursively go through all the sites and modify the specific content type that match the name.
We've tried and it's not possible to do that normally with features. This need to go through something I call "deploying with code".
You really really need to define your content types using a feature because that way each content type will have a set GUID and will be stored in the database using the same name. This becomes important when running CAML queries over the site and there are a few other little gotchas when content types are created "will nilly" if you will.
I prefer STSDev for rolling out solutions using custom content types.
There are two ways to edit pages on the server. You can define the page library to have major and minor versions. This allows editors to edit the page and a defined publisher to publish them. This is good on an internal site, but is not recommended for a public facing site.
For a public facing site you will need to use Content Deployment
I cannot stress enough that before going ahead with a production release you make sure you have features for the content types.
As mentioned here, Chris O'Brian has a post saying that you should not use features unless necessary. One of his reasons is that it slows developement.
I disagree with this. Developement is slower if you are unfamiliar with features, but once a level of knowledge is reached, it is not a major factor.
Do listen to him about the backup and restore method of moving the content.
If you do that, all mess in the content types and fields and webs you may have created during developement (for me that is always quite a bit) will be moved to your production site.
Instead of having a nice clean site where everything is consistent, you will end up with little bugs and some areas of the site behaving differently to others simply because of old development cruft.
I recommend taking a look at Chris O'Briens most recent post, and his great Content Deployment Wizard: it's not all about Features!
Maxim is right in that most items should be deployed via features that are wrapped in solutions (WSP files). Your strategy should be to make sure your solutions and assemblies are broken into related bits of functionality. This is also beneficial in that features can be isolated at certain levels like sites and webs. Feature activation code, deactivation code and feature stapling should be used when updating any content updates. Content deployment can also make sense.
Once thing to remember is that if the updates are only in code then the assemblies can be updated without requiring the feature to be reactivated or the solution retracted and redeployed. All that is required is the Application Pool to be reset.
Microsoft has a couple articles on Dev environments and you can Google many others who recommend environments. We do development on virtual machines and deploy most items to an virtual integration server. Once we smoke test it we then deploy our solutions to QA so on and so forth. The benefit i sthat features and solutions are easy to retract. Once it goes out to production it should be thouroughly tested.
Developing in SharePoint has it's issues, that goes without saying, but so far I have found that the benefits outweight the problems.
Team-Based Development in Microsoft Office SharePoint Server 2007
We developed a custom solution which would update content types and fields for a Site Collection. Underneath the covers, through code, SharePoint allows us to modify the Fields as well as values in the Fields and Site/List Content types.
For moving the actual content from QA to Prod we use Echo

Resources