Where do I put custom webpart code in sharepoint 2010? - list

I'm fairly new to Sharepoint, but it's vital to a current project I'm working on.
As part of the project, I need to use audience targeting to control who can see individual list entries.
I know there's no OOTB solution, but I found the following blog that looks like it's exactly what I need:
http://blogs.msdn.com/b/syedi/archive/2012/07/31/item-level-audience-targeting-in-xsltlistviewwebpart.aspx
My problem is that being new to Sharepoint (and MS-based dev entirely), I don't know what to do with the code. I think I need to create a customer web part, is that correct?
I've Googled and checked the few sharepoint references we have but everything I can find assumes a certain level of knowledge that I just don't have with SP2010. Can anyone give me a step by step to using the above code?

Related

Customize WixUI_Minimal on WiX 3.11 / Visual Studio 2017

I'm trying to customzie the WixUI_Minimal dialog set on WiX 3.11, using Visual Studio.
Following the manual here does not work anymore as it reports of a lot of duplicate symbols. For example:
Duplicate symbol 'ControlEvent:VerifyReadyDlg/Back/NewDialog/WelcomeDlg/Installed AND PATCH' found. This typically means that an Id is duplicated. Check to make sure all your identifiers of a given type (File, Component, Feature) are unique
(This stack overflow question ran into the same issue)
Trying the solutions in this question did not help either as it was coming up with various error codes (different than those mentioned in the question).
This question and this one didn't help either.
It seems something broke in Wix 3.11 / Visual Studio 2017. Has anyone managed to understand how to fix it? Am kind of fearing WiX is losing it's support from its authors...
I'm not sure why you think WiX is losing support. Plenty of free support is provided here and on the wix-users mailing list. They also offer paid support options with SLAs and fixes. Other consultants such as myself provide free support and paid support also.
The WiXUI is a simple to use canned set of UI with limited override/transformation capabilities. You can do things like insert a dialog into a wizard loop sequence but doing so requires that you understand how the rows in the ControlEvent table area evaluated.
You can get an example here:
https://github.com/iswix-llc/iswix/blob/master/Application/IsWiXNewAddIn/MSISolutionTemplate/SetupProjectTemplate/UI.wxs
My uncommenting line 10 it causes it to consume this fragment:
https://github.com/iswix-llc/iswix/blob/master/Application/IsWiXNewAddIn/MSISolutionTemplate/SetupProjectTemplate/UI-CustomDialog.wxs
Lines 33-34 insert rows into the ControlEvent table that take priority over existing rows based on:
https://learn.microsoft.com/en-us/windows/desktop/msi/controlevent-table
If this is too limiting for your needs, you can intead not use the UI extension and simply take a copy of all of it's files from here and do anything you want with them:
https://github.com/wixtoolset/wix3/tree/develop/src/ext/UIExtension/wixlib
Finally if that doesn't meet your needs you can always create a custom bootstrapper application for Burn and use WPF/MVVM to do anything you could possibly want.
FWIW, I've been writing installers for 23 years and using MSI for 16 years. I'm the author for the FOSS project IsWiX which provides templates and designers to simplify automate most of this work. You can get an idea of how IsWiX works here:
https://github.com/iswix-llc/iswix-tutorials
1 hour free consultations are available for interested parties. Just shoot me an email or send me a LinkedIn invite.

Are you able to get hints from what template a message is coming from with dev tools?

I have this website that I'm editing for a friend and they want to get rid of this message at the checkout screen but their boss doesnt know who implemented it. Its an error message at the top in read that says "If you are having trouble checking out, please contact us at sales#cbobaby.com" and is in the check out page. This is an open cart website and I only work with wordpress sites so I'm having trouble figuring out where the source of the message is coming from. I've dug through some of the template files in the theme and I can't seem to find or delete anything that gets rid of it. My question is if there is anything in Chrome dev tools that would help me identify the source or template it lives in? I only use dev tools for adjusting css but I know there's so much more you can do it with. Thanks.
No, DevTools can't relate your front-end code to what generates it for the DOM. For the exact same reason we are unable to persist edits in the DOM to your source.
You need to use grep, or some code editor with "find all" functionality and look for some part of the string. If that fails, search your database and see if it is coming out of there. You can then either edit the database and hope nothing breaks, or try to back-track through the application logic to find where is calling that part of the DB. It should give you some ground as to where to look.
In the Sources tab, you can see the resources, that are loaded when you are on a particular page. You can also use the Inspect tool in the Elements tab to find the element that hosts that bit of text to narrow things down in your search.
To add to this, if content is generated on the server side, the resources you see will likely be a merge from multiple generated sources, e.g. with templates in your case. You can search your solution for aspects of the DOM elements you see in Chrome Developer Tools, but look for the static parts instead of the dynamic parts. For example, the text itself won't be part of the template file, a placeholder will exist - a CSS class could be useful.

SharePoint 2013: Consuming query (url) filter in custom webparts

I am building webparts and self hosted apps for sharepoint 2013, I want to consume the Query String filters that the user sets up, the process should be as simple as specified here on this microsft site.
Unfortunately I dont get the option to send values to 'my web part' but I do for other stock webparts that come with sharepoint. Which leads me to believe I need to implement IFilter or equivelent in my webpart, I have found information into IFilterConsumer interface and IFilterProvider interface on msdn which seems to be exactly what I need, however the documentation has one snag:
NOTE: This API is now obsolete.
So My question is, what is Microsofts new intended way of doing this with Sharepoint 2013.
Ultimately I need to read query variables in the HostWeb request inside my AppWeb code.
Edit: Apparently IWebPartParameters is the new interface for this.... trying to implement now.
I have also tried whats suggested here:
Passing parameters through sharepoint sitepage to web part Still not working, at the moment I have implemented IWebPartParameters, IWebPart, IWebPartRow and none of my functions that implement these interfaces are being called. I must be missing something in the manifest or features file maybe?
Thanks in advance
Crash
Ok the answer to this question is simple, firstly you can only do this in a dev environment with sharepoint installed, as you need access to the sharepoint.dll.
Then this thread answers the question http://www.manning-sandbox.com/thread.jspa?threadID=19791, with the following code solution which is here http://www.markitup.com/BookCodeSamples/TestingWebPartConnections.zip

Is anyone using a ColdFusion framework that has specific path requirements without mapping or locating resources in the server root?

Let me first say I am aware of this faq for Mach-II, which discusses using application specific mappings as a third option when:
locating the framework in the server root is not possible and
creating a server wide mapping to the Mach-II framework directory is impossible
Using application specific mappings would also work for other ColdFusion frameworks with similar requirements (ColdSpring). Here is my issue however: my (I should say "their") production servers are all running ColdFusion MX7, and application specific mappings were introduced in ColdFusion 8. I most likely will be unable to do option 1 or 2 because they involve creating server wide changes that could conflict with other applications (I don't have a final word on this but I am preparing for that to be the case).
That said, is there anybody out there who was in similar bind and has done an option 4, in any ColdFusion version, or with any similar framework? The only option 4 I can think of is modifying the entire framework to change this hardcoded path, and even if that worked it would be time consuming and risky. I'm fairly sure that if there was a simple modification or other simple solution it would already be included in the framework (maybe it's included in version 1.8 of Mach-II and I don't know about it yet).
Any thoughts on solving this problem or even unorthodox setups with libraries that have specific path requirements would be appreciated. Any thoughts from Team Mach-II would especially appreciated...we're on the same team here Matt! ;-)
EDIT
Apparently, the ColdBox framework includes a refactor.xml ANT task which includes a target that refactors the ColdBox code to use a different absolute path as a base along with several other useful refactoring targets. So problem solved for ColdBox users.
Looking at the build.xml for Mach-II (1.6 and 1.8) I don't see any target in there that would allow me to refactor the code. I thought about creating a feature request ticket for such a task for Mach-II but frankly I don't think creating such an ANT task is a big priority for the MachII team since the need really only relates to either
a) users of ColdFusion versions below 8
b) someone who wants to use multiple Mach-II versions in the same application, a use I doubt they want to support
The ColdSpring code I have doesn't come with any ANT tasks at all, although I do have unit tests, and I bet if I poked around the SVN I'd find a few build scripts.
Using Ant tasks to refactor and retest the code, or the simpler (and sort of cop out) solution of creating a separate ColdFusion instance for the application are the best answers I've been able to come up with. I don't need this application to exist in the shared scope of other applications, so my first solution is going to be to try and get a dedicated CF instance for this application.
I'm also going to look at the ColdBox refactor.xml ANT task however and see if I can modify it to work generically to recognize and refactor CFC references with modified absolute paths. If I complete this task I'll be sure to post the code somewhere and edit create an answer to link to it. If anybody else wants to take a crack at that or help me out with it feel free.
Until then I'll leave this question open and see if someone comes up with a better solution.
Fusebox is not so strict, I think.
In XML mode (maybe I call this not 100% correcly, just mean using the Application.cfm) it's just proper include in index.cfm, something like:
<cfinclude template="fusebox5/fusebox5.cfm" />
In non-XML mode it will need proper extending in the root Application.cfc:
<cfcomponent extends="path.to.fusebox5.Application" output="false">
All you need is to know the path.
Perhaps you could create a symbolic link and let the operating system resolve the issue for you?
I've been playing with FW/1 lately, and while it may look like you need to add a mapping and extend org.corfield.framework, you can actually move the framework.cfc file into your web root and just extend="framework". It's dead simple, and gets you straight into a great framework with no mess and very little overhead.
It should be as simple as dropping the 'MachII' folder at the root of your domain (i.e. example.com/MachII). No mappings are required to use Mach-II if you just deploy at the root of the domain of your website.
Also:
Please file a ticket for the ANT task you mentioned in your question. Team Mach-II would love to have this issue logged:
Enter a new ticket on the Mach-II Trac
If you want to tackle an ANT task for us, we can get stuff like this incorporated into the builds faster than waiting to for a Team member to work on the ticket. Code submissions from the community are welcome and appreciated.
We don't keep an eye on Stack Overflow very often so we invite you to join our official community group at called "Mach-II for ColdFusion" at Google Groups. The Google Group is the best place to ask questions or comments like this if you want feedback from the Team.

FlexBuilder web services list empty

I have a list of webservices from a Flex project. I am trying to load the project on a new machine and it has forgotten all the web services from the list.
I copied over the original settings file to :
"myproject-web\.settings\webservices.xml"
This contains quite a lot of webservices and I don't want to have to reimport them all. This would involve deleting all the generated code and going through one by one and adding them.
The problem is that when I go to 'Data > Manage Web Services' I don't see any of these items.
So i tried the obvious :
add a new webservice
check that the webservices.xml file was modified. in fact the new service is appended to the contents of that file
close and reopen Flex Builder
the list only contains the one new service I added and not the old ones.
How can I 'trick' Flexbuilder into recognizing the other web services in the list. It must be storing a list somewhere else.
Note: This is the same question here from months ago, but no answer.
I ran into this problem too. What I had to do was copy the wsdl.xml file from the workspace's .metadata.plugins\com.adobe.flexbuilder.webservices folder from one computer to the other.
Personally this feels like the wrong place for this since the information about what web services are being used is part of the project not the workspace. If you examine the content of that file it even has your project name in it so it knows it is project specific data. Perhaps it is here because it is a limitation of eclipse, but I suspect not. Perhaps Adobe should consider modifying the eclipse plug-in to store this data somewhere in the project files.