Custom Content type Programmatically

HI,
I am using sharepoint server 2007 in windows server 2003.
i am successfully created custom content type using MS office templates(using SharePoint GUI). now i want to do below things programmatically (want to know whether it works or not).
1. creating custom content type and assigning a template to it programmatically.
2. using these content types in document library (i have written code and working perfectly).
for the 1st point This Link tells that we can't create content types in SharePoint 2007 but we can in SharePoint 2010,
my question is are their any alternatives????? or links will be sufficient.
for 2nd point , i have created custom content types using SharePoint GUI and
adding them to document library programmatically which works perfectly no prob. in this.
Please suggest me if their is any way to create custom content type programmatically.
Regards,
Jithendra.

I hope you are looking for this
http://www.dotnetspark.com/kb/3776-creating-list-programmatically-with-custom.aspx
namespace customl.Customlist
    [ToolboxItemAttribute(false)]
    public class Customlist : WebPart
        Button btn;
        protected override void CreateChildControls()
            base.CreateChildControls();
            btn = new Button();
            btn.Text = "show";
            btn.Click += new EventHandler(btn_Click);
            Controls.Add(btn);
        void btn_Click(object sender, EventArgs e)
            try
                SPWeb web = SPContext.Current.Web;
                web.AllowUnsafeUpdates = true;
SPListTemplateCollection listTemplates = site.GetCustomListTemplates(mySite);
SPListTemplate template = listTemplates["Enter template name here"];
Guid listId = web.Lists.Add("checkcustomlist", "The new custom list", template);
SPList list = web.Lists[listId];
web.AllowUnsafeUpdates = false;
            catch (Exception ex)
                Context.Response.Output.Write("Error (btn_Click): " + ex.Message.ToString());
        protected override void Render(HtmlTextWriter writer)
            base.Render(writer);

Similar Messages

  • Can I add Custom Content Type created programmatically to Custom List Definition?

    I have created Custom content type programmatically in the Feature Receiver. Followed by this have another feature which creates List Template. I want to add the custom content type to the list template.
    Using VS 2012, I added the custom content type to the list definition. The Schema.xml for the list definition looks as below:
    <ContentTypes>
    <ContentTypeRef ID="0x010100D7D9F4B1F4A9684BB44389571024B2EC00C393BB21B8AD7B41B62A87DF0501504D" />
    </ContentTypes>
    ID was automatically added by the VS tool.
    List Template is created, the new content Type is also added, but the Name is displayed as "Document" instead of the custom content type name. So I see two CTs with the name "Document".
    How can I achieve this? Any help is appreciated.

    Hi,
    Please add EnableContentTypes="TRUE" in the <List > tag.
    The following materials would be helpful:
    How to add custom content type to a custom list
    http://innersharepoint.blogspot.de/2009/10/how-to-add-custom-content-type-to.html
    SharePoint Custom List Definition with Content Type
    https://achrafsp.wordpress.com/2013/03/31/sharepoint-list-definition-with-content-type/
    Create a Custom SharePoint List Definition
    http://www.mssharepointtips.com/tip.asp?id=1188
    Best Regards
    Dennis Guo
    TechNet Community Support

  • Required field in custom content type not required in custom list instance

    I have an issue with a custom SharePoint 2013 solution. Among other components, it consists of:
    a feature with several custom fields with different types, some of which are taxonomy fields,
    a feature with three custom content types using different sets of the custom fields with partially different configuration, e.g. whether they are required or not,
    a feature with a custom document library template and instance using two of the custom content types and a default picture library that is programmatically customized when the feature is activated, e.g. it is assigned the third custom content type.
    When deploying the solution and activating the feature, everything is set up correctly except a single taxonomy field for one of the doc lib's content types. It is defined to be required in both content types but indeed it does not show up as required for
    the default content type whereas everything works fine for the other. And it does not matter which of the two custom content types is defined first (= default) in the list template's schema.xml, the issue always occurs for the same taxonomy field in the doc
    lib's default content type. When I use the built-in Document content type as default, the field is required for both custom content types. However, using the Document content type is not an option.
    If you think this behavior is not strange enough: When the list content type's field is set required through the SharePoint UI, it becomes optional again when the list column is updated, e.g. its display name is changed.
    Any ideas?

    Hi,
    Thank you for your question.
    We are currently looking into this issue and will give you an update as soon as possible.
    Thank you for your understanding and support.
    Linda Li                
    Forum Support
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
    [email protected]
    Linda Li
    TechNet Community Support

  • SharePoint 2013 Custom Content Type with Site Column custom validations

    Hello,
    Can somebody please suggest me how I can create custom content type with site columns with custom validation to site columns programmatically?
    Thanks,
    Praveen Kumar Padmakaran

    Hi,
    From your description, my understanding is that you want to create content type with site column with validation.
    You could create a site column, and add some validation to the site column. After you could create a custom content type, please add the site column with validation to the content type. Please refer
    to this code below:
    static void Main(string[] args)
    // replace your url
    using (SPSite site = new SPSite("http://sp/sites/sp2013"))
    using (SPWeb web = site.OpenWeb())
    //define the type of the field
    SPFieldType type = SPFieldType.Number;
    // create a site column
    SPField field = CreateSiteColumn(web, "newTest", type, "");
    // add custom formula for the field
    SPFieldNumber fieldNumber = web.Fields.GetField("newTest") as SPFieldNumber;
    fieldNumber.ValidationFormula = "=[newTest]>5";
    fieldNumber.ValidationMessage = ">5";
    fieldNumber.Update();
    SPContentTypeId parentItemCTypeId = web.ContentTypes[0].Id;
    // create custom content type
    SPContentType contentType = CreateSiteContentType(web, "newContent", parentItemCTypeId, "Custom Content Types");
    // add the site column to the content type
    AddFieldToContentType(web, contentType, field);
    // add fiedl to contenttype
    public static void AddFieldToContentType(SPWeb web, SPContentType contentType, SPField field)
    if (contentType == null) return;
    if (contentType.Fields.ContainsField(field.Title)) return;
    SPFieldLink fieldLink = new SPFieldLink(field);
    contentType.FieldLinks.Add(fieldLink);
    contentType.Update();
    // create a custom content type
    public static SPContentType CreateSiteContentType(SPWeb web, string contentTypeName,SPContentTypeId parentItemCTypeId, string group)
    if (web.AvailableContentTypes[contentTypeName] == null)
    SPContentType itemCType = web.AvailableContentTypes[parentItemCTypeId];
    SPContentType contentType =
    new SPContentType(itemCType, web.ContentTypes, contentTypeName) { Group = @group };
    web.ContentTypes.Add(contentType);
    contentType.Update();
    return contentType;
    return web.ContentTypes[contentTypeName];
    // create a site column
    public static SPField CreateSiteColumn(SPWeb web, string displayName,SPFieldType fieldType, string groupDescriptor)
    if (!web.Fields.ContainsField(displayName))
    string fieldName = web.Fields.Add(displayName, fieldType, false);
    SPField field = web.Fields.GetFieldByInternalName(fieldName);
    field.Group = groupDescriptor;
    field.Update();
    return field;
    return web.Fields[displayName];
    You could refer to these articles:
    C# code to create Site Column, Content Type, and add fields to Content Type
    http://spshare.blogspot.jp/2013/10/c-code-to-create-site-column-content.html
    How to do custom validation for site column in SharePoint
    http://www.c-sharpcorner.com/uploadfile/anavijai/how-to-do-custom-validation-for-site-column-in-sharepoint/
    Best Regards,
    Vincent Han
    TechNet Community Support
    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact
    [email protected].

  • How to use custom aspx page as template for custom content type

    Hi,
    I have created custom content type and custom aspx page. I want to use aspx page as template for custom content type.
    Can anybody please let me know how to accomplish this?
    Any help would be appreciated.
    Thank you,
    AA.

    Check if you are looking for the below
    http://www.sharepointpals.com/post/How-to-Create-a-Page-Layout-(PageLayout)-with-ContentType-in-SharePoint-2013
    Please remember to click 'Mark as Answer' on the answer if it helps you

  • Cannot get rid of default field in a custom content type

    hi guys,
    I have custom content type based on Document Set in a List based on Document Library. I created both using XML declaration in SP solution.
    I have all fields in my content type which I declared, except to defult fields: 'Name' and 'Description'. I need to hide both of them. After I set Inherits="FALSE" in ContentType section in Elements.xml in ContentType description the field
    'Description' goes away. But the field 'Name' marked as required and stays.
    I've also tried to add RemoveFieldRef parameter to the same Elements file, but the field persists. I assume it comes from list definition, not content type. But I cannot figure out how to get this field out from list definition.
    Do I miss something?

    I am assuming that content type's elements.xml file is looking like this 
    <?xml version="1.0" encoding="utf-8"?>
    <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
      <!-- Parent ContentType: Document Set (0x0120D520) -->
      <ContentType ID="0x0120D520008d2ff418027e4c31b54d155b98596748"
    Overwrite="True"
    Name="Custom Dossier"
    Group="Custom group"
    Description="Custom dossier"
    Inherits="True"
    Version="0">
        <FieldRefs>
                <FieldRef
    ID="{8D6C094C-3E1F-41f4-BEE3-25B27EE09702}"
    Name="Dossier_Nummer"
    DisplayName="Dossiernummer"
    Required="True" 
    />
        </FieldRefs>
        <XmlDocuments>
          <XmlDocument NamespaceURI="http://schemas.microsoft.com/office/documentsets/allowedcontenttypes">
            <act:AllowedContentTypes
    xmlns:act="http://schemas.microsoft.com/office/documentsets/allowedcontenttypes"
    LastModified="05/31/2012 08:46:56">
              <AllowedContentType
    id="0x0101"
    />
              <AllowedContentType
    id="0x0101000490d50c50624b6ca21c637ef39cd89b"
    />
            </act:AllowedContentTypes>
          </XmlDocument>
        </XmlDocuments>
      </ContentType>
    </Elements>
    In the FieldRef  section ,we have  <FieldRef
    ID="{8D6C094C-3E1F-41f4-BEE3-25B27EE09702}"
    Name="Dossier_Nummer"
    DisplayName="Dossiernummer"
    Required="True" 
    />  this field is there.
    Try to add ShowInNewForm="TRUE" ShowInEditForm="FALSE" those attributes.
    or    Hidden="FALSE" 
    Sorry for the bad English. Could you paste your code.So that we can assist u.

  • "could not save list changes to the server" while creating a new form in SharePoint Designer - custom content type

    i am getting "could not save list changes to the server" while creating a new form in SharePoint Designer.
    Actually the list was created with a custom content type. When i try to create a new form from the custom content type, it fails.
    However, when i try to create a form using item content type, it creates a form successfully.
    Could you please let me know hte workaroud for this.
    Tnx

    Hello,
    This link may be help you to create custom form using content types:
    http://blog.splibrarian.com/2011/03/21/using-content-types-to-modify-the-newform-aspx-and-editform-aspx-pages/
    Hemendra:Yesterday is just a memory,Tomorrow we may never see&lt;br/&gt; Please remember to mark the replies as answers if they help and unmark them if they provide no help &lt;br/&gt;(On vacation from 16th Oct to 28th Oct 2014)

  • How to set the column order of a sealed column in a custom Content Type for the new item form NewDocSet.aspx?

    Dear SharePoint Developers,
    Please help.
    I need to know How to set the column order of a sealed column in a custom Content Type for the new item form NewDocSet.aspx?
    I think this is a "sealed column", whatever that is, which is  shown in SPD 2013 as a column of content type "document, folder, MyCustomContentType".
    I know when I set the column order in my custom Content Type settings page, it is correct.
    But, when I load the NewDocSet.aspx page, the column order that I set in the settings page is NOT used for this "sealed column" which is bad.
    Can you help?
    Please advise.
    Thanks.
    Mark Kamoski
    -- Mark Kamoski

    Hi,
    According to your post, my understanding is that you want to set the column order of a sealed column in a custom Content Type for the new item form NewDocSet.aspx.
    Per my knowledge, if you have Content Type management enabled for the list or library (if you see a list of content type with the option to add more), the display order of columns is set for each content type.
    Drill down into one of them and you'll see the option under the list of columns for that content type.
    To apply the column order in the NewDocSet.aspx page, you need to:
    Select Site Settings, under Site Collection Administration, click Content type publishing. In the Refresh All Published
    Content Types section, choose Refresh all published content types on next
    update.
    Run two timer jobs(Content Type Hub, Content Type Subscriber) in central admin(Central Administration--> Monitoring--> Review timer jobs).
    More information:
    http://sharepoint.stackexchange.com/questions/95028/content-types-not-refreshing-on-sp-online
    Best Regards,
    Linda Li
    Linda Li
    TechNet Community Support

  • Adobe Drive and Alfresco Enterprise Fails to Check-in With Custom Content Types

    Hello all,
    I've been struggling with some drive limitations over the last few weeks as we try to utilize the CMIS connector to Alfresco.  I am currently testing with Adobe Drive 3.2.0.41 and Alfresco 4.0.1 Enterprise but have tested this behavior with Drive 4.0.2.6 paired with Alfresco 4.1.1.3 and seen the same behavior:
    The issue I am seeing is that I am unable to Check in a new document into the repository when there is a rule set up to apply a custom content type from our model.  After entering my check-in comment and pressing OK, I get an unknown error from Bridge, InDesign, or Photoshop.  It works fine if I do not specialize our type with a rule (leaving the content as cm:content).  The error I recieve in Alfresco is:  org.alfresco.service.cmr.repository.CopyServiceException: The source and destination node must be the same type.
    I understand that this might be a limitation of Drive and Alfresco working together, but I just wanted to see if anyone had any experience with this issue or any potential workaround, since it is pretty limiting for alfresco to not have any non OOTB content types.
    Thanks, your help would be appreciated.
    Mike

    Adobe Drive CC still has this issue. I can dra-n-drop a .PSD into Alfresco 4.2 and it will work perfectly - unless I use Adobe Drive to edit and check-in the file.

  • Created column not showing in the Document Library View for a Custom Content Type based on Document

    We have a custom content type based of Document Content Type. The OOTB "Created" column does not show up in the view as well as in the Site Settings -> Columns.
    But it shows up in the Display Form and Edit Form of the Item at the bottom "Created at " by " " and "Modified by" at by ""
    Would anyone know how to make this column appear as part of the view ?
    thanks,
    Harsh

    Hi,
    They should by default be possible to add to a view. The only reason they would disappear from the UI if someone has changed the attribute of the Field to hidden = true. You can verify that with PowerShell and if so you can use PowerShell to revert the setting
    to false.
    $w = Get-SPWeb http://dev13$f = $w.Fields.GetFieldByInternalName("Created")$f.Hidden$f.Hidden = $false$f.Update()

  • Custom Content type based on "Link to a Document" does not open new folder in a dialog

    Hi,
       We have created a custom Content Type  based on "Link to a Document" (0x01010A) into a document library. When I use the New Document button on the ribbon, the "Link to a document" form appears on the same window, not as a dialog. If we
    use the "link to a document" content type it works fine.
      This issue occurs when creating the content type from the SharePoint UI as well as via XML (provisioning the content type).
       Is it a SharePoint bug or are we missing something?
    Thanks!
    Sergio

    Hi S3rgiones,
    I can reproduce your issue, when create a custom content type based on “Link to a Document” content type, create item using the content type, it will open the NewLink.aspx page in the same window not the modal dialog.
    In this situation, you can try to custom the content type and customize the form page for it, specify it in the content type customization, if this doesn’t work, you may need to custom the content type not inherit from the default link to
    a document, but customize it yourself.
    Thanks,
    Qiao Wei
    TechNet Community Support

  • Select option "Show this View : in Folder of Content type : {Custom Content Type Name}" while creating view using CSOM

    Hi,
    I am trying to create "View" in a Document Library and need to enable following:
    1. Mark as default View
    2. Folders -> Show this view : in Folders of Content Type : {Custom Content Type name}
    I am using following code which sets "in Folders of Content Type : " to "Folder" rather than selecting custom content type despite passing Content Type ID of custom content type.
    code:
    var itemContentTypes = clientContext.LoadQuery(web.AvailableContentTypes.Where(ct => ct.Name == viewContentType));
    clientContext.ExecuteQuery();
    var itemContentType = itemContentTypes.FirstOrDefault();
    view.ContentTypeId = itemContentType.Id;
    view.DefaultViewForContentType = true;
    view.Update();
    clientContext.ExecuteQuery();
    Please highlight what seems to be missing?
    Thanks
    Sonal

    Hi,
    Before you set the content type ID for the view, you need to add the custom content type to the library firstly.
    You can add the content type to library using OOTB feature “Add from existing site content types” in library settings or using Client Object Model.
    Here is a code snippet for your reference:
    var list = context.Web.Lists.GetByTitle(listTitle);
    list.ContentTypesEnabled = true;
    var contentType = context.Site.RootWeb.ContentTypes.GetById("0x0120");
    list.ContentTypes.AddExistingContentType(contentType);
    context.ExecuteQuery();
    More information about add exist content type using Client Object Model:<o:p></o:p>
    http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.client.contenttypecollection.addexistingcontenttype%28v=office.15%29.aspx
    Best regards,
    ZhengyuGuo
    Zhengyu Guo
    TechNet Community Support

  • HELP: Extended Attributes Not Appearing In Instances of Custom Content Type

    From Java code I create a custom content type derived from Document and define some extended attributes with default values for that type. All done using the same methodology shown in the Developer's Guide and Oracle example code.
    I start ifsmgr and I can indeed see the content type and the extended attributes.
    If I however create an instance of this (custom) type, either from the Viewer (file Upload) or from Java code (using code simuilar to createDocument from the Oracle ContentModule example), the extended attributes do not appear!
    BUT, if I delete one of the extended attributes using ifsmgr (highlight one of my extened attributes, click on "Remove", and then "Apply"), from that point on the previously missing extended attributes appear (except for the one I deleted of course) when I create files of the custom type from either Java code or the Viewer. Furthermore, once I get ifs to "see" one of these extended attributes in this manner, I can delete the extended attribute and re-create it from Java at will and it will appear in created instances of my custom content type just fine.
    If however I add another new extended attribute to the custom content type, I have to do the "Remove/Apply" drill in ifsmgr to get this new attribute to appear in created files of my custom type.
    I've tried deleting all instances of the custom type and closing both ifsmgr and the Viewer, but unless I delete one of the extended attributes from ifsmgr I cannot get new extended attributes to appear.
    What do I need to do in my 9ifs Java code to get new custom content extended attributes to appear in instances of that custom type?
    Thank you,
    Jeff "Did Kafka Write ifs?" Rininger

    Dear @user10993347,
    As mentioned by @vinod2303, you need to maintain content relationships along with subscriptions.
    Regards,
    Saurabh

  • Displaying Custom Content Types

    Short Version
    I have created custom content types that has a few properties that are complex. One is an image type and another is a collection of another custom content type. I am unable to display or access these items.
    Long Version
    I have a custom content type with the following properties
    It is called PageThreeColumn
    PageTitle : String
    LeftNav : String
    RightNav : String
    HeroImage : image (complext type that came with weblogic)
    ContentCollection: Collection of type ContentPlaceholder
    The other custom type ContentPlaceHolder
    Type : String
    HtmlContent : Binary
    I created a content presenter view (wlp-templete-config.xml) and I am able to get a simple string property to be displayed.
    So I can do the following
    <cm:getProperty name="LeftNav" node="${node}"/>
    And I get the expected String back.
    What I am unable to do is get to anything that is more complicated then the simple datatypes. For instance the Image data type.
    I have tried node.HeroImage but it does not display correctly.
    I appreciate any help you can give and would definately like a link to an example of displaying content that is not as trivial as most of the examples.

    I have tried the following code variations
    <div>
         ${node.properties[0]}
    <!--//Shows string as expected-->
         ${node.properties[1]}
    <!--//Shows string as expected-->
         ${node.properties[2]}
    <!--//Shows string as expected-->
         ${node.properties[3]}
    <!--//Shows the following
    HeroImage: [Lcom.bea.content.Property;@48958a1 -->
         ${node.properties[4]}
         <!--//Shows the following
         ContentCollection: [Lcom.bea.content.Property;@48958a5 ,
                                              [Lcom.bea.content.Property;@48958a8 ,
                                               [Lcom.bea.content.Property;@48958ab -->
                    <cm:getProperty node="${node.HeroImage}" name="heroimage" />
         <img src="${templates:getImageSource(pageContext.request, heroimage)}"/>
    </div>
    Variation 2
    <img src="${templates:getImageSource(pageContext.request, node.HeroImage)}"/> //says that it does not recognize node.HeroImage
    Variation 3
    ${node.HeroImage} //says that it does not recognise HeroImage
    All dont work.
    Should I be adding or doing some type of customization to the template jsp to handle the complex data type?
    Is there an example or tutorial that uses a complex content type and the content presenter to show content?
    Or maybe an example of more complicated uses of the JSP files in the:
    /portlets/wlp/contentpresenter/templates/wlp-default/cm
    /portlets/wlp/contentpresenter/templates/wlp-default/outer
    All of the examples I found were ver trivial. Basicly showing a very simple example but nothing using a content type that is more complicated in the non-primary properties then strings.
    Edited by: danscan1712 on Mar 11, 2009 8:01 AM

  • Having templates appear when users click the "New Document" button in a document library with custom content types

    Hi all,
    I'm using SharePoint Online, but I'm seeing the same behavior in an on-prem 2013 instance as well. My situation is this:
    - I've created a document library
    - I've created a custom content type and attached a custom document template to it
    - I've assigned the custom content type to the document library, and disabled the default "document" option
    What I'm expecting to see is that when I browse to the document library and click "new document", that either a) a picklist appears allowing me to specify the document template I want (using the custom template I specified) or b) open the custom
    template itself. That doesn't happen - instead, when I click new document I'm prompted to upload a file, which seems to contradict the whole point of using a custom content type/custom document template combo.
    Am I missing something? The custom template isn't in the Forms library, which seems to be a problem if I wanted to use the custom document template instead of the default.
    Ideally I'd like a menu like the one shown here:
    http://social.msdn.microsoft.com/Forums/en-US/59ce3bd8-bf7f-4872-ae76-60d8c81dfc32/display-content-types-on-new-document-button-in-document-libraries?forum=sharepointgeneral, except with me being able to control the list of items that is shown.
    Any ideas? Thanks!

    Hi Brain,
    What you have done is by design behavior.
    If you want to show the Office document templates list (e.g. below image from your above referenced link) to select when click "+new document" link, this will need to install Office Web App 2013 which provides this feature,
    you can new document and see it is using WopiFrame.aspx page, please see more from below article about how to configure OWA 2013 for SharePoint 2013 on-premise.
    http://technet.microsoft.com/en-us/library/ff431687(v=office.15).aspx
    Thanks,
    Daniel Yang
    Forum Support
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact [email protected] 
    Daniel Yang
    TechNet Community Support

Maybe you are looking for

  • My iPad2 crashed while in itunes

    My ipad2 crashed while in itunes. It will not do a thing now. When I turn it on, all that comes on the screen is an image of a USB cord, with an arrow at the tip of it pointing to an itunes icon. I've tried resetting by holding the home and sleep but

  • Aperture Size Over 300GB, is this too big

    Greetings, I have a library a little over 300 GB in size, and growing. I am about to upgrade to Aperture 3, but am scared because if anything happens to this file, I am toast, (all of my family pictures there). I know there are a trillion discussions

  • Post-capitalization vs subsequent acquisitions

    Hello everybody What´s exactly the difference between Post capitalizations and subsequent acquisitions? According to what I´ve read Post capitalizations are for closed fiscal years. When I´m choosing the Original Value date (ABNAN) the system sends a

  • Logged-In Resource Check

    How do i perform a check to see if there are any logged-in resources before the caller is placed into queue.  The need is to prevent callers from being placed into queue in case the company is closed during what would normally be open hours.

  • Which driver will enable wireless adapter on my notebook

    I recently purchased hp 15 notebook r204tu I am confused about which driver should I use for wireless internet access .When you go on hp website for drivers they have given 7 drivers I donot know which one would work please can any provide link to th