• Ramakant
  • SMARTIE
  • 1186 Points
  • Member since 2015

  • Chatter
    Feed
  • 39
    Best Answers
  • 0
    Likes Received
  • 12
    Likes Given
  • 0
    Questions
  • 221
    Replies
I have two fields: Status__c and Function_End_Date__c. If status equals "Completed" or "Cancelled" I need a rule that sets the Function_End_Date__c to the current Date/Time.
      
trigger Stuck_on_Auto_Escalate_Status on Case (before insert, before update ) {
  
        for(Trigger_Control__c tc:Trigger_Control__c.getall().values()){ //this is a custom setting (checkbox field) 
             
             if(tc.Action_Auto_Escalation__c==true)
             
             {
                for(case cs:trigger.new)
                   {   
        
                            if(cs.Status=='Action - Automated Escalation')
                              {
                   
                                     
                                      cs.Stuck_on_Action_Automated_Escalation__c=true;
                                  
                                     
                               }
                     }
        }
    
        }
     }
 
Hello,
I have a custom object called "Line Item", that has a master-detail relationship on Opportunity.
On an opportunity, I can have multiple "Line items". Each line item has a value.

I would like to multiply these values, and get the result in a field on opportunity.

Example:
"My opportunity":
  • Line item 1: 2
  • Line item 2: 10
  • Line item 3: 2

Field "my multiplication" on "My opportunity": 2*10*2=40

What I'm trying to achieve is actually a custom field with a field type "Roll up summary", but Salesforce only allows to calcualte Min, Max, Count, Sum...

Any ideas how I can achieve this?

Hi ,
I have to uncheck the checkbox on child object when my parent object record gets deleted.

Parent object : raddes have a some records
Child Object : radparent

I have a check box on radparent. now, my requirement is when i deleted a parent record in raddes the checkbox on child object "radparent" should uncheck which mean we need to check the size of the object and update the child update checkbox.
trigger updatestatus on Task (after insert) {
set<id> setid = new set<id>();
list<contact> lstcon = new list<contact>();
for(task t :trigger.new){
setid.add(t.whatid);
setid.add(t.whoid);
}
for(contact cc :[select id,boolean__C,(select subject from tasks) from contact where id=:setid]){
For(task t1 :trigger.new){
if(t1.subject=='Mass Email'){
Contact cc1 = new contact();
cc1.id=cc.id;
cc1.boolean__c='True';
lstcon.add(cc1);

}
update lstcon;
}

}

}
I copied this code from the Trailhead page to create an Apex class:

User-added image

I get this error:
Error: Compile Error: Unexpected token 'list'. at line 2 column 15
Please help?
Hello,

How can i calculat number of months between two dates, in apex ?

Thank you for advice
Hi There,

I am having a few issues with populating a Formula Field as I need to run nested IFs on it.

Basically what I am looking to do is to determine a rating based on the Business Type and last bill amount

So if the Business has previous consumption

The Rating for Gyms is A-, Rating For Hotels is B-, Rating For Offices is C-

If there is no consumption

Then The Rating for Gyms is A+, Rating For Hotels is B+, Rating For Offices is C+

Im pretty sure its something small but I keep getting "Error: Syntax error. Missing ')'
Hello. I wrote an Apex trigger that works fine to update a custom field on the opportunity when an opportunitylineitem is updated. The problem is when I try to import 200 records I get the error: UpdateOpptyProductText: System.LimitException: Too many SOQL queries: 101. Many thanks for helping.
 
trigger UpdateOpptyProductText on OpportunityLineItem (after insert, after update) {
    for (OpportunityLineItem oli : Trigger.New) {
      
        Opportunity o = [select id from Opportunity where id =: oli.OpportunityId];
        o.Opportunity_Products__c = '';
        OpportunityLineItem[] lis = [Select id, name, product2id from opportunitylineitem where opportunityid=:o.Id];
        
        integer count = 0;
        for (OpportunityLineItem li : lis) {
            if (count > 0) {
                o.Opportunity_Products__c += '; ';
            }
            Product2 p = [select id,name from Product2 where id =: li.Product2Id];
            o.Opportunity_Products__c += p.name;
            count ++;
        } 
        update o;
    }
}

 
Hello,

I've created a field in a Case object named Enviar para Laudo, but when I log on not as administrador my field doesnt show up. 

I've already changed the Security level and the Field Acessibility but still cant see the field.

Anyone, can help me?

 
Insert failed. First exception on row 0; first error: REQUIRED_FIELD_MISSING, Required fields are missing: [Last Name]: [Last Name]
Error is in expression '{!save}' in component <apex:commandButton> in page formexample: Class.EnrollmentFormClass.save: line 30, column 1
An unexpected error has occurred. Your development organization has been notified.
visualforcepage :

<apex:page controller="EnrollmentFormClass">
    <apex:form >
    <apex:pageBlock title="Opportunitiy Zone Enrollment Form">
              <apex:pageBlockSection columns="3">
              <apex:inputField value="{!con.Student_Name__c}"/>
              <apex:inputField value="{!con.School__c}"/> 
              <apex:inputField value="{!con.Date__c}"/> 
            </apex:pageBlockSection>
            <br/> 
            <br/>
                    SPARC programs are funded by United Way of Greater Atlanta. As such, we are required to report demographic, income, educational and health access information on every individual/family we serve. With the United Way belief that serving one family member serves them all, we collect general information on each member of your household. We appreciate your willingness to complete this form in its entirety so that we can continue providing free programs to the community. Thank you!
            <br/>  
            <br/> 
            <apex:pageBlockSection title="Head of Household Information:">
                <apex:inputField value="{!con.FirstName}"/>
                <apex:inputField value="{!con.LastName}"/>
                <apex:inputField value="{!con.Date_of_Birth__c}"/>
                <apex:inputField value="{!con.Gender__c}"/> 
                <apex:inputField value="{!con.Do_you_have_a_primary_medical_provider__c}"/>
                <apex:inputField value="{!con.Do_you_have_a_primary_medical_provider__c}"/>
                <apex:inputField value="{!con.Address__c}"/>
                <apex:inputField value="{!con.City__c}"/>
                <apex:inputField value="{!con.State__c}"/>
                <apex:inputField value="{!con.County__c}"/>
                <apex:inputField value="{!con.Phone__c}"/>
                <apex:inputField value="{!con.Email_Address__c}"/>
                <apex:inputField value="{!con.Preferred_Method_of_Contact_Circle_One__c}"/>
            </apex:pageBlockSection>
            <apex:pageBlocksection title="Demographic Data: (All information is confidential and is used in applying for grants to fund this program.)" columns="3">
                 <apex:inputField value="{!con.Spanish_translation_Services_Needed__c}"/>
                 <apex:inputField value="{!con.Race_Check_One__c}"/>
                 <apex:inputField value="{!con.Marital_Status_check_one__c}"/>
                 <apex:inputField value="{!con.HIGHEST_LEVEL_OF_EDUCATION_Check_one__c}"/>
                 <apex:inputField value="{!con.Employment_check_one__c}"/>
            </apex:pageBlocksection>
            <apex:pageBlocksection title="Income:" columns="3">
                <apex:inputField value="{!con.Annual_Income__c}"/> 
                <apex:inputField value="{!con.Source_of_Income__c}"/> 
                <apex:inputField value="{!con.Primary_Method_of_Transportation__c}"/>
            </apex:pageBlocksection>
            <apex:pageBlocksection title="HOUSEHOLD Information:" columns="3">
                <apex:inputField value="{!conc.Other_Adult_First_Name__c}"/>
                <apex:inputField value="{!conc.LastName}"/>
                <apex:inputField value="{!conc.Date_of_Birth__c}"/>
                <apex:inputField value="{!conc.Gender__c}"/> 
                <apex:inputField value="{!conc.Relationship_Primary_Care_Provider__c}"/>
                <apex:inputField value="{!conc.Medical_Insurance__c    }"/> 
            </apex:pageBlocksection>
                <apex:pageBlockButtons location="bottom" >
                <apex:commandButton action="{!save}" value="save"/>
            </apex:pageBlockButtons> 
            <apex:pageBlocksection title="Children (all children currently in your household, INCLUDING those participating in this program):" columns="1">
             <apex:pageBlockTable value="{!concAddList}" var="c">
             <apex:column headerValue="Name">
             <apex:commandButton action="{!AddRow}" value="AddRow"/>
             </apex:column>
           
             <apex:column headerValue="Name">
             <apex:inputfield value="{!c.LastName}"/>
             </apex:column>
             <apex:column headerValue="Date of Birth">
             <apex:inputfield value="{!c.Date_of_Birth__c}"/>
             </apex:column>
             <apex:column headerValue="Gender">
             <apex:inputfield value="{!c.Gender__c}"/>
             </apex:column>
             <apex:column headerValue="Relationship Primary Care Provider">
             <apex:inputfield value="{!c.Relationship_Primary_Care_Provider__c}"/>
             </apex:column>
             <apex:column headerValue="Medical Insurance}">
             <apex:inputfield value="{!c.Medical_Insurance__c}"/>
             </apex:column>             
       </apex:pageBlockTable> 
       </apex:pageBlocksection>
       </apex:pageBlock>
    </apex:form>
</apex:page>


Apex class :

public with sharing class EnrollmentFormClass {
public Contact con {get;set;}
public Contact conc {get;set;}
public Contact conct {get;set;}
public List<Contact> concAddList{get;set;}
public Account acc {get;set;}
    
public EnrollmentFormClass() {
     con  = new Contact();
     conc = new Contact();
     conct = new Contact();
     acc  = new Account();
     concAddList  = new List<Contact>();  
     concAddList.add(con);
     }
    public void AddRow(){
        
        concAddList.add(new Contact());
        concAddList.add(con);
    }
public void save(){
    insert con;    
    acc.name = con.lastName;
    insert acc;
    con.AccountId = acc.Id;
    conc.AccountId = acc.Id;
    conct.AccountId = acc.Id;
    
    insert conc;
    insert conct;
    insert concAddList;
    update con;
   
    }
     
}
Hi,
Though i have coded the with the same specification as asked in the challenge but then also challenge failing.
Not sure why this is happening. The issue is actually the code or Trailhead is not working fine.

I am a beginner so facing issue in identifying it.
Need help.

Thanks in advance. 
Hello Everyone,

Please help me out from creating a new row in custom object whenever a new contact created in contact object.

1.I have a custom date field in contact object
2.I shouldn't have any relationship with new contact->custom object.
3.Whenever i create new contact with some date it should create a row with "contact name" and "date"
4.Whenever i change Date on an existing contact it should create another row with diff date in custom object.
5.I have a lookup field in custom object with Account Object.

Plesae help how to make this work using triggers

Thanks in Advance.

I have a blob object which is a CSV file and I need a method to return all lines from that file in the following data structure:
List<List<String>>
where each element of that data structure
(List<String>)
is a separate line in the file.

Please advise how this can be achieved and implemented?
I am creating a Case object and in it I have the invoice information, I  want automatically fill in the the Account field, according to the value of the invoice when a new case is created.
Can anyone help me? It's by some configure in the field or is it just work by triggers?

 
Hi,

I'm wanting to implement a workflow rule that will auto-update a date field to the 1st of the month.

E.g. if a user enters 24/07/2017 in field A of date type, this would auto-update to 01/07/2017; if user enters 04/02/2016 this would auto-update to 01/02/2016 etc.

Appreciate any guidance on how I might achieve this, thank you.
Convert a Lead to an Opportunity using triger
Hi guys given two fields on the lead object:
FieldA__c
FieldB__c
 
I need to write a trigger to convert from Lead to opportunity every time a user fill out those two fields. Can anyone help me with the trigger?
 
Thanks in advance!
Have a lookup field for states and want to create a workflow that if the lookup field is Maryland, then the workflow triggers. How can I write this formula? 
I'm looking for a way to populate a lookup field based on a similar text value on the source and target object.

I have an object child__c with a lookup to parent__c and a field color__c. The field color__c is also available on the parent__c object with unique values.

How can I query the child__c records and populate the lookup with the parent__c record with the same color in color__c in APEX?
I am creating a Trigger that whenever a Contact gets created or inserted the Account Name field will update to a specific account suppose name "xyz".  Right now I have used For loop Inside a For Loop. Is there any way that I can avoid for loop inside for loop? Can I use Map here if yes How?

My current Code is :
trigger AddConToAcc on Contact (before insert) {
list<Account> listAcc = new List<Account>([SELECT Id, Name from Account where name = 'XYZ']);       
    for(Contact con : Trigger.New){
            for(Account acc : listAcc){
                con.AccountId = acc.Id;
                }           
            }
     }
I tried to use a Map but its not working Code mentioned below :
trigger ContToAcc on Contact (before insert) {
    Set<Id> setAccId = New Set<Id>();
       List<Account> acc = New List<Account>([SELECT ID FROM Account WHERE Name = 'XYZ']); 
    for(Account acc1 : acc){
        setAccId.add(acc1.Id);
    }
   Map<Id, Account> mapacc = new Map<Id, Account>([Select Id, Name FROM Account WHERE ID IN :setAccId]);
    for(Contact con : Trigger.New){
        con.Account = mapacc.get(con.Account.Id);        
    }
}
  • March 17, 2018
  • Like
  • 0
I have two fields: Status__c and Function_End_Date__c. If status equals "Completed" or "Cancelled" I need a rule that sets the Function_End_Date__c to the current Date/Time.
I work with 3 objects : Book, Loan, Contact. Book and Loan are customs.

Book has a field Title, Contact has a field "Number of Loan". Loan is a junction object (Many to Many) from Book and Contact.

The idea is that, whenever a there a Loan is inserted, the value in number_of_loan (of the related contact) get incremented and when we delete it get decremented.

To perform that I decided to create a trigger on the Object Loan.

Here it is: 
trigger BorrowedBooksTrigger on Loan__c (after insert, after delete) {
    
        Contact c = new Contact();
        Set<Id> lretIdsToQuery = new Set<Id>{};
    
        if (Trigger.isInsert) {
            
            for(Pret__c l: Trigger.new){
              lretIdsToQuery.add(p.Id);
             }
    
             
            List<Contact> relatedContacts = [SELECT Id, Name, Number_of_loan FROM Contact
            WHERE Id IN :lretIdsToQuery];
             
            for(Contact c : relatedContacts) {      
                 system.debug('Number_of_loan added '+ c.Number_of_loan);
                 c.Number_of_loan = c.Number_of_loan+1;
                 update c;
            }  
            
             
        }else if (Trigger.isDelete) {
            
             for(Pret__c l: Trigger.old){
              lretIdsToQuery.add(p.Id);
             }
    
             
            List<Contact> relatedContacts = [SELECT Id, Name, Number_of_loan FROM Contact
            WHERE Id IN :lretIdsToQuery];
             
            for(Contact c : relatedContacts) {      
                 system.debug('Number_of_loan deleted '+ c.Number_of_loan);
                 c.Number_of_loan = c.Number_of_loan-1;
                 update c;
            } 
            
        }
    }

But the code doesn't work at all. I've even have nothing display on the debug console.

Please help :(
Hello,
I am getting an error Compile Error: Invalid type: Opp_Top_X_Designation__c on the first two lines.

The field Opp_Top_X_Designation__c is a lookup to Opportunity from another object Top_X_Designation. Now either the setup is not correct of the format of the code line is not right. Please provide inputs.

list<Opp_Top_X_Designation__c> oppidlist = new list<Opp_Top_X_Designation__c>();
 list<Opp_Top_Designation__c> updatelist = new list<Opp_Top_Designation__c>();
 
 for(Top_Designation__c tx : trigger.new){
 if(trigger.isUpdate || trigger.isInsert){
  if(tx.Document_Attached__c == true && tx.Typeof__c == 'Contract'){
 
 // mt.put(tx.Opp_Top_X_Designation__c, tx.Id);
 // s.add(tx.Opp_Top_X_Designation__c);
Hi,
I am trying to create a custom button with an if statement to use on a quote detail page. Sample code as follows;
{!IF
(
TEXT(Quote.Status)<>"Akzeptiert",
URLFOR("/apex/SalesFlowCreateOrderContract"),
'/flow/Quote_to_Order_with_Contract?QuoteID="{!Quote.Id}&"retURL=/"{!Quote.Id}'
)}

On the first option, the code tries to redirect to a VF page which works perfectly. But if statement continues on to the second option either I get encoding errors or non-working if statement depending on the syntax I tried to avoid errors. I tried to use URLENCODE but it did not work too.

Is there anyone who may share ideas on this?

thanks
Alper
 
Hi Guys, i got this error validating my Trigger

System.ListException: List index out of bounds: 1  Stack Trace: Class.CaseUtility.updateExpiredPoaLinks: line 582, column 1 Class.CaseUtilty_test.testUpdateExpiredPoaLinks: line 192, column

code below:
trigger t1 on Case (before insert, before update) {

 Group q = [SELECT Id FROM Group WHERE Name ='NCT queue' AND Type = 'Queue']; 

Contact con = new Contact(); 

for(Case cas : Trigger.New){

         if(cas.Court_Process__c == 'NCT'){

        cas.OwnerId = q.Id; 
    
       }
   }

 NCT__c nctNew = new NCT__c(Full_Name__c = con.cm1__Full_Name__c ); 

  insert nctNew; 
}


need help
My company would like to send out a customer satisfaction email (template already created) when a job title (account) wraps. In addition to this the account/contact relationship has a check box for "send survey" and we only want the related contacts that have this check off to receive the email. 
I tried making a workflow to do this but it won't allow me to pull info from the acount related section.

I'm told there is possibly an Apex code that could make this happen. Does anyone have any suggestions?

Thanks!
      
trigger Stuck_on_Auto_Escalate_Status on Case (before insert, before update ) {
  
        for(Trigger_Control__c tc:Trigger_Control__c.getall().values()){ //this is a custom setting (checkbox field) 
             
             if(tc.Action_Auto_Escalation__c==true)
             
             {
                for(case cs:trigger.new)
                   {   
        
                            if(cs.Status=='Action - Automated Escalation')
                              {
                   
                                     
                                      cs.Stuck_on_Action_Automated_Escalation__c=true;
                                  
                                     
                               }
                     }
        }
    
        }
     }
 
Hello,
I have a custom object called "Line Item", that has a master-detail relationship on Opportunity.
On an opportunity, I can have multiple "Line items". Each line item has a value.

I would like to multiply these values, and get the result in a field on opportunity.

Example:
"My opportunity":
  • Line item 1: 2
  • Line item 2: 10
  • Line item 3: 2

Field "my multiplication" on "My opportunity": 2*10*2=40

What I'm trying to achieve is actually a custom field with a field type "Roll up summary", but Salesforce only allows to calcualte Min, Max, Count, Sum...

Any ideas how I can achieve this?

Hi ,
I have to uncheck the checkbox on child object when my parent object record gets deleted.

Parent object : raddes have a some records
Child Object : radparent

I have a check box on radparent. now, my requirement is when i deleted a parent record in raddes the checkbox on child object "radparent" should uncheck which mean we need to check the size of the object and update the child update checkbox.
hi,

Could you please help me to make the code bulkify, currently it is hitting governor limit for fetching more then 50001 row.
Issue/ Description:
i have on custom object ABC__c  which contain  20000 record's (having detail of name and phone number)
while creating lead i need to check if the lead(first name/ last name or phone number) present in the ABC__c object, one check box present__c on lead should get 'TRUE' and one comment field should update with matching criteria in lead itself.
i follow the below steps.
1. i have created trigger upon lead before insert, call the class by passing the lead in trigger.new
2. SOQL query to fetch data from ABC__C, create two set  one for phone and one for name
3. itrating the trigger.new record(lead record)
4. if match found keeping the check box true and comment field with comment.

it is working perfactly fine when we enterrecord manually.
but when use dataloader it break with governor limit.
could any one suggest in which step i am missing.

when we run with batch size two in dataloader it works but it takes two much time.
can you suggest for batch of 200 in dataloader ABC__C 20K record should call only once...

Thanks in advance



 
 How can I achieve this for every date field present in My org?
What will be the code for this.
HI ,  I am currently working on a badge that instructs me to Select the "Assign using active rule" when creating a case, but there is no such field , It is not available in page layout at all and it is also not available in classic view.
Hi,

I have installed dreamhouseapp in my organization, which is namespaced, following the instructions here http://www.dreamhouseapp.io/. Lightning Components reference fields without using a namespace. I have had to add my own namespace to those references so that it works. Is this expected?
In my VisualForce page, if I have more than one apex:actionSupport event="onchange" then the event doesn't fire until a second input component is accessed.  If there is one then it fires immdiately.  If there anyway to make event fire everytime?

VF Code:
<apex:page controller="TextApex" >
<apex:form >
<apex:pageBlock >

<apex:selectRadio id="slctRd" dir="ltr" required="true" layout="pageDirection" value="{!selectedValue}" immediate="true">
<apex:actionSupport event="onchange" action="{!MethodOne}" reRender="test"/>
<apex:selectOptions id="selRdOptn" value="{!Options}"/>
</apex:selectRadio>

<apex:selectRadio id="slctRd1" dir="ltr" required="true" layout="pageDirection" value="{!selectedValue1}" immediate="true">
<apex:actionSupport event="onchange" action="{!MethodTwo}" reRender="test1"/>
<apex:selectOptions id="selRdOptn1" value="{!Options1}"/>
</apex:selectRadio>

<apex:outputText id="test" value="{!test}"></apex:outputText><br/>
<apex:outputText id="test1" value="{!test1}"></apex:outputText>

</apex:pageBlock>
</apex:form>
</apex:page>

Apex:
public class TextApex {

    public String selectedValue {get; set;}
    public List<SelectOption> Options {get; set;}
    public String test {get;set;}
    
    public String selectedValue1 {get; set;}
    public List<SelectOption> Options1 {get; set;}
    public String test1 {get;set;} 
       
    public TextApex() {
        Options = new List<SelectOption>();
        Options.add(new SelectOption('test1', 'test1'));
        Options.add(new SelectOption('test2', 'test2'));

        Options1 = new List<SelectOption>();
        Options1.add(new SelectOption('test3', 'test3'));
        Options1.add(new SelectOption('test4', 'test4'));
    }
    
   public void MethodOne() { test = 'Hello World' + selectedValue ; }
   public void MethodTwo() { test1 = 'Hello World' + selectedValue1 ; }
}
I am trying to do this Trailhead, and stuck on this procedure.
https://trailhead.salesforce.com/modules/lex_customization/units/lex_customization_page_layouts

" To change page layout assignments, click Page Layout Assignment and then click Edit Assignment. "

Where do I find the Page Layout Assignment ?

Thanks in advance.
 
Can someone give me detailed references/articles of how triggers work in asynchronous apex. in normal synchronous apex trigeers inserts records in the batch count of 200s each for every iteration. mean 1000 rows go in 5 batches. what happens in asynchronous processing. If i have a queueable inserting 1000 rows how they are processed.
Can someone give me detailed references/articles of how triggers work in asynchronous apex. 
  • December 10, 2017
  • Like
  • 1
Hi Experts,
I am creating an app (through point and click), in which user gets register. Is it possible to give login credential to user through this app so s/he can acces the app or I need to create user only from Standard Admin> User Management to provide login to my salesforce app. Please help.
 
How to store 700 picklist fileds ?
Hi All,

i have a standard opportunity page. also i have a field update on this. so i have to auto refresh my opportunity page when a field update happen. now i need to manully refresh the page. how can i achieve this. i have written a inline visual force page with a 'Reload' button embadded with the satndard page. but i need to manually click this button. i need the auto refresh the page.

Thanks,
Hi All,

I want to discuss a business hours senario with you. We are using business hours for calculate Plan date of custom Activities. Our shift timing are 06:30 AM(Monday) to 03:30 AM(Tuesday),06:30 AM(Tuesday) to 03:30 AM(Wednesday) and so on. When I am going to set these hours to business hours, it is throwing the error "Error: Start time must be earlier than end time".

User-added image
Please help me to fix this issue.
Thanks,
Parteek
 
Hello
I having a custom object C1 with fields like name,email and mobile number.On an visualforce page I will enter the values and save the data.This part is fine with me.
Now my requirement is when I enter email in <apex:inputfield> say on keypress event I should be able to call an server side method in apex controller.
This method will check if the email already exists in object. If it exists then some action needs to be taken.

Please anybody any help will be greatly appreciated
thanks
vandana
 
Hi,

I have a requirement where I need to add validation rule(saying that a field is blank), but that validation should fire if in approval process the stage gets to in review/ or the approver is the Queue of the assigned approver.

I tried using validation rule, but it seems it is not achievable via validation rule.
It seems I need to write a trigger and use StepsAndWorkitems to get the actorId.

Can someone please guide me on how to achive this requirement?
 
Hi,
Is it possible to create a scheduled job for npsp data imports. I am able to create data import objects using APEX, but I am not able to process it automatically.

Thanks.
In the Video demo you can see a full site view, is that something out of the box or do we have to create it by hand. Also if there is a tutorial of how to recreate that would be great:

https://youtu.be/d3jD25SNp6g?t=70

User-added image
I am looking for -any- way to thumbs up/down a content record from a visualforce page. It is doesn't look like I can edit ContentVersion record.

Thanks in advance,
Marijus