sharepoint on prem – Can’t save Geolocation field

I have added a geolocation field to a SharePoint 2016 list, but am unable to save an entry when I attempt to specify data in this field. A message appears beneath it stating “A required component for using a geolocation field is not installed. Either go to the list settings page to delete this field or contact your administrator.” I do not get a correlation id and I can’t find anything in the SharePoint logs that appears to relate to this error. I have three machines in my SharePoint farm (1 FE and 2 App) and have installed SQLSysClrTypes.msi on each machine and did an IISReset on each machine and still receive the same error. Any ideas what I’m doing wrong?

How we can build a sharepoint field which is Read-only + visible inside the list setting (similar to the created and created by built-in fields)

when building a sharepoint list, i always have a requirement to have a field which can not be edited using the list forms + can not be edited using quick edit grid >> so i always set the field as read-only using this PnP script:-

PS C:WINDOWSsystem32> $clientContext = Get-PnPContext
PS C:WINDOWSsystem32> $targetField = Get-PnPField -Identity "ApproverFeedbackandnotesPowerBi"
PS C:WINDOWSsystem32> $targetField.ReadOnlyField = 1

but setting a field as read-only will hide the field from the list settings >> which will make managing these read-only fields hard, since they are hidden inside the list settings.. So is there a way to set a field as Read-Only but at the same time to show it inside the list settings (similar to how the built-in fields such as created + createdby work)?


postgresql – Postgres 12: Inserting array of composite types, composite type has an array field. Malformed array literal, unexpected end of input

I’m having an issue with inserting a simple array of integers into my table in Postgres via a procedure. The array of integers is declared within a composite type and I’m trying to insert an array of these types via the procedure.

Just to put this out there: this code works without the array of numbers (i.e. if I were to just remove the variable as_ids from the table, composite type, and procedure, the code runs the way its supposed to. for some reason it just doesn’t work with the array).

The table

CREATE TABLE user_ans(
d_id INT,
as_ids INT() NOT NULL,
created TIMESTAMP,

The composite type

CREATE TYPE new_ans_obj AS (
    ans TEXT, 
    as_ids INT(),
    created TIMESTAMP,
    d_id INT,
    fq_id INT,
    j_id INT,
    p_id INT,
    u_id INT

The procedure

    new_ans new_ans_obj()
    LANGUAGE plpgsql
AS $$
    INSERT INTO user_ans(ans, as_ids, created, d_id, fq_id, j_id, p_id, u_id)
    SELECT * from unnest(new_ans);


Command I use:

call add_ans_arr((ARRAY('(sdf,{2002,2005},2021-01-19T21:48:28.997Z,1001,7001,3,6001,1)', '(sdf,{2002,2005},2021-01-19T21:48:29.626Z,1001,7002,3,6001,1)'))::new_ans_obj());


ERROR:  malformed array literal: "{2002"
LINE 1: call add_ans_arr((ARRAY('(sdf,{2002,2005},2021-01-19T21:4...
DETAIL:  Unexpected end of input.

Command I use:

call add_ans_arr((ARRAY('(sdf,(ARRAY(2002,2005))::int(),2021-01-19T21:48:28.997Z,1001,7001,3,6001,1)', '(sdf,(ARRAY(2002,2005))::int(),2021-01-19T21:48:29.626Z,1001,7002,3,6001,1)'))::new_ans_obj());


ERROR:  malformed array literal: "(ARRAY(2002"
LINE 1: call add_ans_arr((ARRAY('(sdf,(ARRAY(2002,2005))::int(),2021...
DETAIL:  Array value must start with "{" or dimension information.

Post obvious attempts

I’ve also tried different variations of the two above commands (using parenthesis, putting the size of the array in, etc), but with similar outputs. I’ve read other posts about inserting arrays into Postgres, as well as the documentation and it seems like I’m using the right syntax (although probably not)?

I was thinking that the array of integers might be conflicting with the ‘unnest’ function, so I rewrote the procedure to following, but still the same problem pops up:

    arr new_ans_obj()
    LANGUAGE plpgsql
AS $$
    ans_obj new_ans_obj;
    FOREACH ans_obj IN ARRAY arr
        INSERT INTO user_ans(ans, as_ids, created, d_id, fq_id, j_id, p_id, u_id)
        VALUES (ans_obj.ans, ans_obj.as_ids, ans_obj.created, ans_obj.d_id, ans_obj.fq_id, ans_obj.j_id, ans_obj.p_id, ans_obj.u_id);

I’m able to individually insert these objects into the table:

insert into user_ans(ans, as_ids, created, d_id, fq_id, j_id, p_id, u_id) VALUES ('lala', '{2002}', '2021-01-19T21:48:29.626Z', 1001, 7002, 3, 6001, 1);

But I don’t really understand why the above method isn’t working? I’ve tried putting the single quotes into the my first command, but I just get a syntax error. Also I don’t want to mess too much with the


structure because it works for the rest of my other procedures, and this structure is generated by my server. Although I’m open to change it the server-side code if there’s something horribly wrong with this structure, but again – it works for the rest of my stored procedures.

Any direction/help would be greatly appreciated.

8 – How can I limit an entity reference selection to a specific field value on the reference

I have a content type Research which has a an entity reference type of People.

The problem is that I don’t want to show ALL people but only people which have a certain value under their field named type.
I was trying to find it here:
enter image description here

Anyone an idea how to only show a content-type for a certain field value of that content type

How to filter on a field value for Logstash Grok

I’m setting up Logstash to send NGINX log entries to Elasticsearch. I currently have the following Grok pattern set up to match entries:

%{IPORHOST:remoteAddr} (?:-|(%{WORD}.%{WORD})) %{USER:ident} (%{HTTPDATE:timestamp}) "(?:%{WORD:method} %{NOTSPACE:request}(?: HTTP/%{NUMBER:httpversion})?|%{DATA:rawrequest})" %{NUMBER:status} (?:%{NUMBER:bytes}|-) %{QS:referrer} %{QS:agent} %{QS:forwarder}

In this case, the method field is optional.

I’m trying to figure out a way to ignore log entries where method is present and the value is equal to the string HEAD.

Is there any way to do that, or am I SOL?

8 – How to put view results in an entity reference field?

So the scenario is like this:
I have to create a “node” which has an entity reference field which can hold multiple values. I am looking for a way to be able to select view results to be stored in the entity reference field and I do not know how to do that in Drupal 8.

For Drupal 7 there was this module which does what I need

I have tried doing it the custom way by creating views and placing them on the same page as the node create and then getting the resulting values with ajax to store in the field but I do not believe that is the best way to go about it as it does not seem reliable.

Any advice is appreciated.

calculate flux passing through surface $x^2 + 4y^2 + z^2 = 1$ by the vector field $F=(x^3, 4y^3, z^3)$

how to calculate flux passing through surface $x^2 + 4y^2 + z^2 = 1$ by the vector field $F=(x^3, 4y^3, z^3)$

Give me an approach or a hint please


javascript – How to get the Alternative text for “Hyperlink or Picture” field Type in SharePoint online

I have a field in my SharePoint list of type Hyperlink.

I want to format the list view so that all the items in it will display as bullet items.

I am using JSLink and below is my code. I want the DOM property URL.DESC. When I tried overrideCtx.CurrentItem.URL.desc it is not working.

However it is showing in the DOM.

enter image description here


(function () {
    var overrideCtx = {};
    overrideCtx.Templates = {};
     overrideCtx.Templates.Header = " " +
        "<hr><ul id='unorderedlist'>";

    overrideCtx.Templates.Item = CustomItem;
    overrideCtx.Templates.Footer = "</ul>";
    overrideCtx.BaseViewID = 1;
    overrideCtx.ListTemplateType = 103;
    overrideCtx.OnPreRender = preRenderHandler;
    overrideCtx.OnPostRender = postRenderHandler;

function CustomItem(overrideCtx) {
    var ret = "<li>"+ overrideCtx.CurrentItem.URL + "</li>";
    return ret;
// The preRenderHandler attends the OnPreRender event
function preRenderHandler(ctx) {

    // Override the default title with user input.
    //ctx.ListTitle = prompt("Type a title", ctx.ListTitle);

// The postRenderHandler attends the OnPostRender event
function postRenderHandler(ctx) {

    // You can manipulate the DOM in the postRender event
    var ulObj;
    var i, j;

    ulObj = document.getElementById("unorderedlist");

    // Reverse order the list.
    for (i = 1; i < ulObj.children.length; i++) {
        var x = ulObj.children(i);
        for (j = 1; j < ulObj.children.length; j++) {
            var y = ulObj.children(j);
                ulObj.insertBefore(y, x);

Keyboard input in main search field

Steps to reproduce:

  1. On a device with a keyboard, go to
  2. Type several words in the main search field; it turns into a drop-down suggestion list.
  3. Try editing your entry using your keyboard’s left and right arrow keys to move around in it.

You can’t.
(Furthermore, in my machine, if I use the mouse to place the cursor anywhere in the text field, either arrow key skips the cursor to the end of the input text.)

Expected behavior:

It’s a text input field. We should be able to use the left/right arrow keys (and their alt/Ctrl/shift modifiers depending on your OS) to move about the field.


Tested in Chrome, Chrome Incognito, and Safari (MacOS) – on 2 different machines. Same behavior. I checked that afaik no plugins/extensions are affecting this behavior.

Why I posted this:

  1. Please test to see if you reproduce the same behavior.
  2. If you happen to be a web wiz, diagnose what’s happening. I venture Amazon forces the browser’s focus wrongly somehow – the dropdown element steals all keyboard input instead of only up+down, so the browser doesn’t “realize” you’re trying to control the text field.
  3. Are there user-side ways to mitigate or workaround this? For now best I found was “Escape” to dismiss the drop-down suggestions..