Repair Administration Panel of Connections 7 for Chromium-based Browsers

Created:
Last Update:

Author: Christoph Stoettner
Read in about 2 min · 332 words

Work from home

Photo by Nathana Rebou├žas | Unsplash

Connections 7 has a new Administration Console to access Communities Template administration and Mobile Administration.

The Administration Console can be reached on https://cnx-hostname/cnxadmin/. The / at the end is important, because the ingress rule just forwards /cnxadmin/(.*).

On Firefox you get this view:

/cnxadmin/ panel

With Chrome (Chromium, Edge) the left menu is missing. There is a display: inline-flex for some elements in index.css of the Administration Console.

So how can we inject a repaired css file into the container?

ConfigMap

One quick and dirty way is to use a configMap with the adjusted stylesheet. So I did the following:

.Get the pod name of the admin-portal deployment

ADMIN_PORTAL=$(kubectl get pod -l app=admin-portal -o custom-columns=:metadata.name --no-headers)
echo $ADMIN_PORTAL
admin-portal-7f774c77f9-b8nxw

.Copy index.css to your machine

kubectl cp $ADMIN_PORTAL::/usr/share/nginx/html/css/index.css index.css

.Change css and replace inline-flex with flex

sed -i -e 's/inline-flex/flex/g' index.css

.Create ConfigMap

kubectl create configmap cnxadmin-fix --from-file=index.css

Now we have to mount the configmap into the admin-portal deployment to make this change permanent.

kubectl edit deployment admin-portal -n connections

.Search for volumes and add the ConfigMap

      volumes:
      - name: redis-secret-vol
        secret:
          defaultMode: 420
          secretName: redis-secret
      - configMap:		# Add this and the next 3 lines after the redis-secret
          defaultMode: 420
          name: cnxadmin-fix
        name: cnxadmin-fix

Keep the file open and search for volumeMounts

        volumeMounts:
        - mountPath: /etc/redis/redis-secret
          name: redis-secret-vol
        - mountPath: /usr/share/nginx/html/css # Mount the configmap to the original path
          name: cnxadmin-fix

Now save the file and the pod will restart automatically. This will fix the menu problem with Chromiumbased browsers, the menu is visible, but still little bit too high. Feel free to fix this too.

/cnxadmin/ fixed

One more issue with the Administration Console - Aha Idea

The Administration Console loads css and fonts from external urls.

<link rel="stylesheet" href="//cdn.rawgit.com/necolas/normalize.css/master/normalize.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&amp;display=swap">
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">

That’s an issue in some environments and I think it is better and more secure to have all elements of On-Premises Connections on the Connections servers. I added a AHA Idea to get this fixed.

Author
Add a comment
Error
There was an error sending your comment, please try again.
Thank you!
Your comment has been submitted and will be published once it has been approved.

Your email address will not be published. Required fields are marked with *

Suggested Reading
Card image cap

Last week I played around with the HCL Connections documentation to backup Elasticsearch in the article Backup Elasticsearch Indices in Component Pack .

In the end I found that I couldn’t get the snapshot restored and that I have to run a command outside of my Kubernetes cluster to get a snapshot on a daily basis. That’s not what I want.

Created: Read in about 4 min
Card image cap

During a migration from Cognos Metrics to Elasticsearch Metrics, I had some issues with the index. So I wanted to create a backup of the already migrated data and start over from scratch.

The official documentation has an article on the topic: Backing up and restoring data for Elasticsearch-based components , but I had to slightly adjust the commands to get a successful snapshot.

Created:
Last Update:
Read in about 6 min
Card image cap

The last years I had issues with application servers using large amount of CPU and even hanging application servers running the Tiny Spellchecking service. It ended with disabled spellchecking in the Tiny editors config.js.

Created: Read in about 8 min