Skip to content

Instantly share code, notes, and snippets.

@CesarCapillas
CesarCapillas / cmis-browser.sh
Last active July 20, 2019 18:01
cmis-browser
#!/bin/bash
export http_proxy=
MYHOST=https://alfrescohost
MYSECR="admin:secret"
if [[ $1 == "-h" ]]; then
echo "Usage: cmis-browser.sh [PATH=] [ACTION=properties|parents|aspects"
echo " cmis-browser.sh"
@CesarCapillas
CesarCapillas / alf-rest-search.sh
Last active May 22, 2019 15:47
Alfresco REST API - List nodes by noderef
# /bin/bash
set -e
export http_proxy=
ALF_HOST="http://localhost:8080/"
ALF_USER="admin"
ALF_PASS="secret"
if [ -z "$1" ]; then
echo "Usage: alf-rest-search.sh <TYPE|SITE|ASPECT|property|TEXT|ISNULL|ISNOTNULL> <object>"
# Alfresco users
curl -s -u user:pass http://localhost:8080/alfresco/service/api/people | jq '.people[] .userName'
curl -s -u user:pass http://localhost:8080/alfresco/service/api/people | jq '.people[] | "\(.userName),\(.firstName),\(.lastName),\(.email)"'
# Alfresco groups
curl -s -u user:pass http://localhost:8080/alfresco/service/api/groups | jq '.data[] .shortName'
curl -s -u user:pass http://localhost:8080/alfresco/service/api/groups | jq '.data[] | "\(.shortName),\(.fullName),\(.displayName)"'
@CesarCapillas
CesarCapillas / cleanAlfPropTables-MySQL.sql
Created June 24, 2018 17:43
SQL script for properly clearing Alfresco unused audit data / property values (NOT node properties, but the property tables used for AuditComponent and AttributeService functionality) for PostgreSQL / MySQL.NOTE: Only run when the Alfresco Repository is NOT running as values kept in in-memory caches will otherwise result in constraint violations.
set autocommit=0;
begin;
-- get all active references to alf_prop_root
create temporary table temp1 (id bigint(20), index (id));
insert into temp1 select disabled_paths_id as id from alf_audit_app;
insert into temp1 select audit_values_id as id from alf_audit_entry;
insert into temp1 select prop1_id as id from alf_prop_unique_ctx;
-- determine the obsolete entries from alf_prop_root
@CesarCapillas
CesarCapillas / check-elastic-health.sh
Last active July 27, 2023 06:33
ELK shell scripts
#!/bin/bash
ELKSERVER=${1:-localhost}
ELKPORT=${2:-9200}
if [ -z "$ELKSERVER" ]; then
# Usage
echo 'Usage: check-health.sh <elk-server=localhost> <elk-port=9200>'
# create-index.sh "logstash-solr-*"
else
curl -s "http://$ELKSERVER:$ELKPORT/_cat/health?v"
#! /bin/bash
./bin/nutch plugin urlfilter-regex org.apache.nutch.urlfilter.regex.RegexURLFilter -Durlfilter.regex.file=regex
@CesarCapillas
CesarCapillas / add-by-id.sh
Last active April 23, 2024 21:14
SOLR bash recipes for creating, deleting or truncating collections, monitoring and searching.
#!/bin/bash
COLLECTION=${2:-zylk}
SERVER=${3:-localhost}
PORT=${4:-8983}
if [ -z "$1" ]; then
# Usage
echo 'Usage: add-by-id.sh <id> [<collection> <solr-server=localhost> <port=8383>]'
else
curl -X POST "http://${SERVER}:${PORT}/solr/${COLLECTION}/update?commit=true" -H "Content-Type: text/xml" --data-binary "<add><doc><field name='id'>$1</field><field name='url'>$1</field></doc></add>"
@CesarCapillas
CesarCapillas / gist:d3317213413f2913d99e2a301cad0ce0
Created March 4, 2018 19:54 — forked from cdown/gist:1163649
Bash urlencode and urldecode
urlencode() {
# urlencode <string>
old_lc_collate=$LC_COLLATE
LC_COLLATE=C
local length="${#1}"
for (( i = 0; i < length; i++ )); do
local c="${1:i:1}"
case $c in
[a-zA-Z0-9.~_-]) printf "$c" ;;
/**
* Script to locate error nodes from solr error report, and do something with them.
*
* @author Younes Regaieg <younes.regaieg@xenit.eu>
* @version 1.0
**/
//----- Solr error report to be fetched from solr /solr4/alfresco/query?q=EXCEPTIONMESSAGE:*&wt=json&rows=<number-of-rows-to-fetch>
//----- Swap this dummy object with a real object from the output of the endpoint mentionned above.
var solrErrorsReport = {
SELECT count(alf_node.id)
FROM alf_node INNER JOIN alf_node_aspects ON alf_node.id = alf_node_aspects.node_id
WHERE alf_node.store_id = 6
AND alf_node_aspects.qname_id = 2929;