OpenProject與GIT整合
OpenProject能與GitHub、GitLab深度整合,當然也包含一般git server或local git。整合後,專案成員可看到所有檔案內容,我覺得有必要管控權限,畢竟有些人只要看到修改記錄即可,如PM。
既然我的目標只是想讓OpenProject能看到git的修改記錄,於是硬著頭皮改openproject程式,好險不難,硬生生讓我改成只能看到修改記錄。
詳請參考咖啡偶之書。
OpenProject能與GitHub、GitLab深度整合,當然也包含一般git server或local git。整合後,專案成員可看到所有檔案內容,我覺得有必要管控權限,畢竟有些人只要看到修改記錄即可,如PM。
既然我的目標只是想讓OpenProject能看到git的修改記錄,於是硬著頭皮改openproject程式,好險不難,硬生生讓我改成只能看到修改記錄。
詳請參考咖啡偶之書。
前陣子柏德之門III問世,引發眾玩家為了想要跟隊員愛愛,將各種情侶組合(不限種族,性別,年紀),與通關方式翻了個遍。
一想到這幾天大過年的,我每次都會玩一下柏德之門三部曲,這遊戲經由第三方套件–BGT-WeiDU,套件整合了「劍灣傳奇」、「柏德之門I」與「柏德之門II」,最值得一提的是裡面包含了N種額外的劇情,當然也有戀愛的情節(比較隱晦一點),想嘗試戀愛滋味的宅男們,建議一定要玩,而且老電腦都跑得起來哦! 想辦法組裝玩玩吧–提示:GOG Galaxy、BG1(the original saga)、BG2。
玩柏德之門三部曲時候,解析度只有800×600真是惱人,後來到安裝widescreen之後就可以自訂解析度,雖然字還是很小,但可以滿版螢幕,改善很多了。
我在進行OpenProject翻譯時,把特殊的部分列出來(後續在咖啡偶之書更新):
Placeholder Users -> 非專案成員 ── 原本翻譯成佔位符用戶
Repository -> 版本庫 ── 大部分都翻譯成儲存庫,但在Open project很確定是版本控管git or svn
要抓特定檔案裏面特定字串,可執行以下指令
find . -name '特定檔案' | xargs egrep "特定字串"
公司有追蹤「檔案過期」需求,最方便就是賦予檔案新的屬性—過期日,作為nextcloud粉絲,當然由nextcloud著手,萬幸有個app customproperties能達到要求,最後再寫個程式追查一下資料庫資料表oc_properties 過期日資料,就可以完成系統自動通知功能,定期通知檔案主人快到期,讓主人進行延展或是不再追蹤。
但是該app已經有一陣子沒更新了,不支援nextcloud 25以上版本,有人告知可以小改繼續在25、26版使用,真是幸運,我也依樣畫葫蘆,弄了一個能支援25~28的版本來,有興趣的可以按此下載,下載後先解開zip可得tar.gz檔案,再解開成一個目錄「customproperties」,將整個目錄放在nextcloud的custom_apps目錄裡,並且確認目錄權限正確後,回到nextcloud就會出現「 Custom Properties」外掛,即可啟用。
我在去年讓nextcloud改用collabora online,原因為onlyoffice官方編譯的社群版本限制只能20人使用,只好用collabora online 無限人版;最近同事又開始抱怨與M$ office相容性不好,這樣會影響我想要讓大家習慣上雲端進行檔案編輯的目標。於是我挖呀挖呀挖,找了找,想要找一款好用的線上編輯office軟體。
首選台灣晟鑫科技https://www.ossii.com.tw/,一般社群版就很好用了,與微軟相容性極高。
但公司需要更多的功能,只好捨棄oxoo office社群版,我又花了些時間回頭看onlyoffice,冀望有人重新編譯無限人版,沒多久還真的找到,藏在一個很低調的github頁面上,直接是容器版本,實在太棒了。
我建議的安裝方式與之前一樣,只要改後面的images來源就可以了,請參考這裡。
ghcr.io/thomisus/onlyoffice-documentserver-unlimited:7.4.1
2023/9/25 後記,原來是「Collaborative tags」害我不能正常使用onlyoffice設定功能。
—
我在重新回歸onlyoffice時候,發現無法透過在nextcloud的 「onlyoffice 設定畫面」進行設定,只能使用指令,只好將相關指令一併紀錄下來。
# 列出onlyoffice設定 docker exec -u www-data nextcloud php occ config:list onlyoffice # 清除nextcloud設定 docker exec -u www-data nextcloud php occ config:app:delete onlyoffice DocumentServerUrl docker exec -u www-data nextcloud php occ config:app:delete onlyoffice StorageUrl docker exec -u www-data nextcloud php occ config:app:delete onlyoffice advanced docker exec -u www-data nextcloud php occ config:app:delete onlyoffice customizationChat docker exec -u www-data nextcloud php occ config:app:delete onlyoffice customizationCompactHeader docker exec -u www-data nextcloud php occ config:app:delete onlyoffice customizationFeedback docker exec -u www-data nextcloud php occ config:app:delete onlyoffice DocumentServerInternalUrl docker exec -u www-data nextcloud php occ config:app:delete onlyoffice customizationForcesave docker exec -u www-data nextcloud php occ config:app:delete onlyoffice customizationHelp docker exec -u www-data nextcloud php occ config:app:delete onlyoffice customizationReviewDisplay docker exec -u www-data nextcloud php occ config:app:delete onlyoffice customizationTheme docker exec -u www-data nextcloud php occ config:app:delete onlyoffice customizationToolbarNoTabs docker exec -u www-data nextcloud php occ config:app:delete onlyoffice customization_macros docker exec -u www-data nextcloud php occ config:app:delete onlyoffice defFormats docker exec -u www-data nextcloud php occ config:app:delete onlyoffice demo docker exec -u www-data nextcloud php occ config:app:delete onlyoffice editFormats docker exec -u www-data nextcloud php occ config:app:delete onlyoffice enabled docker exec -u www-data nextcloud php occ config:app:delete onlyoffice groups docker exec -u www-data nextcloud php occ config:app:delete onlyoffice installed_version docker exec -u www-data nextcloud php occ config:app:delete onlyoffice jwt_header docker exec -u www-data nextcloud php occ config:app:delete onlyoffice jwt_secret docker exec -u www-data nextcloud php occ config:app:delete onlyoffice sameTab docker exec -u www-data nextcloud php occ config:app:delete onlyoffice settings_error docker exec -u www-data nextcloud php occ config:app:delete onlyoffice types docker exec -u www-data nextcloud php occ config:app:delete onlyoffice verify_peer_off docker exec -u www-data nextcloud php occ config:app:delete onlyoffice versionHistory docker exec -u www-data nextcloud php occ config:app:delete onlyoffice preview
#設定onlyoffice網址,忽略證書,密碼 docker exec -u www-data nextcloud php occ config:app:set onlyoffice DocumentServerUrl --value=https://xxx docker exec -u www-data nextcloud php occ config:app:set onlyoffice verify_peer_off --value=true docker exec -u www-data nextcloud php occ config:app:set onlyoffice jwt_secret --value=密碼
自己寫 java 呼叫 jgit 函式庫clone專案,卻失敗,我看到錯誤訊息是沒有帳號密碼;可是程式明明有輸入帳號密碼,後來爬文才發現我有案子有使用LFS,需要設定快取把帳號密碼儲存起來,否則會一直要求輸入帳號密碼造成程式錯誤。
git lfs 需要2.0或是以上才行
git config --global lfs.cachecredentials
一直以來我都以為檔案總管的檔案,只能依照上面的欄位進行排序,但是今天被中國同事教育了一番,我錯了!
這位同事工作需要拍照,再將照片存到電腦,檔案總管選擇「圖示(大中小)」進行手動排序,就可以很容易觀看到差異;原本他使用的電腦可以這樣隨意移動,但是換個電腦就不行。
最後問到我這裡來,我就說不可能,只能針對上面的欄位進行自動排序(信心滿滿);但是該同事啪啪打臉我,拿能自己排序的電腦給我看,最後我汗顏了,真是不能太鐵齒。
後來才發現,這功能是windows xp專有的,也就是xp能夠停用「自動排序」,win7以後基本上不能停用自動排序,於是有神人就弄出可以停用自動排序的設定檔案,請按此下載,解開點兩下就可以了。
安裝wordpress這麼多次,第一次遇到掛載子目錄的需求,也就是安裝完畢,透過反向代理程式,網址看起來像這樣:
https://xxx.xxx.xxx/subfolder
一樣感謝google, 我爬了很多文,說法很多,自己覺得修改檔案這方式很靠譜(非透過web設定),可以避免掛載正式網址時候,若因錯誤很難進入網址改或是到資料庫研究要改哪個table:
1.、修改 wp-config.php
define('WP_SITEURL', 'https://你的網站名稱/你的子目錄');
define('WP_HOME', 'https://你的網站名稱/你的子目錄');
#以下是可以不使用ftp就安裝外掛
define('FS_METHOD', 'direct');
2、修改.htaccess (與wp-config.php都是在wordpress根目錄)
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /你的子目錄/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /你的子目錄/index.php [L]
</IfModule>
3、nginx反向代理
location /你的子目錄 {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_headers_hash_bucket_size 128;
proxy_pass http://容器ip(通常127.0.0.1):port/你的子目錄;
}
4、apache 反向代理
等待遇到實例
wordpress有個外掛「Super Video Player」能播放mp4影音檔案,但是很耗流量,若放在雲端費用將會很高;因此有必要考慮改用串流方式播放,可以節省一些流量,有個peertube串流系統很棒,也可以安裝容器,我們公司使用到現在,很穩定又好用,安裝方式請按這裡。
朋友wordpress網站使用 super video player 播放mp4,可以隱藏下載選項,讓麻瓜使用者不是很容易取得(麻瓜以上就很容易了);若要改成 peertube,則會看到下載選項,這樣朋友就不願意了,於是我爬文爬丫爬,最後發現只要加上一行,也能做到與super video player 一樣,讓麻瓜不容易取得/下載檔案。
[root@firewall ~]# docker exec -it peertube_peertube_1 bash
root@770eb53d9cf6:/app# find .|grep embed.html
./client/dist/standalone/videos/test-embed.html
./client/dist/standalone/videos/embed.html
./client/src/standalone/videos/embed.html
./client/src/standalone/videos/test-embed.html
root@770eb53d9cf6:/app# vi ./client/dist/standalone/videos/embed.html
## 編輯 embed.html ,在head之前加上以下語法,然後退出重新執行peertube容器
# 出處 https://framacolibri.org/t/how-to-disable-context-menu-for-peertube/10998
<style> .vjs-contextmenu-ui-menu { display: none !important; } </style>
## 編輯 embed.html ,body 改成以下這樣
<body id="custom-css" class="standalone-video-embed" oncontextmenu="return false" onselectstart="return false" ondragstart="return false">
另外peertube 連結要嵌在網頁上,只要滑鼠移到影片上,右鍵選「複製嵌入程式碼」,再稍微修改一下即可。
我使用 「aspect-ratio : 16/9」方式自動會依照網頁大小而微調 ,很方便
<iframe src="https://peertube.test.com.tw/videos/embed/1586a669-b649-4e3f-974c-ec4d42a0bf9e" style="aspect-ratio: 16/9;height: 100%; width: 100%;" frameborder="0" width="560" height="315" allowfullscreen="" sandbox="allow-same-origin allow-scripts"></iframe>
2023/08/20
—
後來發現peertube有個bug,就算網路正常撥放,chrome還是會出現轉圈圈的情況,但firefox不會,我後來發現乾脆先暫時停掉轉圈圈功能,一樣在head前加上一行。(很可惜peertube主要開發者很剛愎自用,以前就交手過了,所以我不會回報這問題,前幾週也有人反應,但都沒受到重視)
.vjs-loading-spinner{display:none!important;}