Introduction to Business Object Processing Framework
BOB | BO Builder |
BOBX | BO Builder for eXperts |
BOBT | BO Builder Test Environment |
/BOBF/CONF_UI | BOPF: Geschäftsobjektkonfiguration |
Introduction to Business Object Processing Framework
BOB | BO Builder |
BOBX | BO Builder for eXperts |
BOBT | BO Builder Test Environment |
/BOBF/CONF_UI | BOPF: Geschäftsobjektkonfiguration |
Product Info: https://blohm.de/en/services/blohm-filecontrol/
“With Blohm FileControl you are able to manage all files which are created or processed by R/3 applications within the operating file system.”
Functiongroup: J3SF
Functionmodules: J_3S_F_*
Transactioncode: J3SD
I usually try to avoid Google products, especially when it comes to web tracking, although I’m a big fan of what they do in other technologies.
Today I was testing another WordPress Theme called Fluida, a free theme from Cryout Creations. It’s clean and simple, the only thing that bothers me, is the usage of the Google Fonts API. Even if you don’t enter a Google Font in the settings, it’s connecting to the API.
Google Fonts has advantages as well as disadvantages. Read more about it here.
There are a few WordPress plugins to remove Google Fonts (e.g. Autoptimize), but I tried to avoid another plugin and wanted to do it manually. After a short search through the theme I found “includes/styles.php”. There you just had to comment out the following lines and it’s done.
// Google fonts
$gfonts = array();
$roots = array();
foreach ( $cryout_theme_structure['google-font-enabled-fields'] as $item ) {
$itemg = $item . 'google';
$itemw = $item . 'weight';
// custom font names
if ( ! empty( $options[$itemg] ) && ! preg_match( '/custom\sfont/i', $options[$item] ) ) {
if ( $item == _CRYOUT_THEME_PREFIX . '_fgeneral' ) {
$gfonts[] = cryout_gfontclean( $options[$itemg], ":100,200,300,400,500,600,700,800,900" ); // include all weights for general font
} else {
$gfonts[] = cryout_gfontclean( $options[$itemg], ":".$options[$itemw] );
};
$roots[] = cryout_gfontclean( $options[$itemg] );
}
// preset google fonts
if ( preg_match('/^(.*)\/gfont$/i', $options[$item], $bits ) ) {
if ( $item == _CRYOUT_THEME_PREFIX . '_fgeneral' ) {
$gfonts[] = cryout_gfontclean( $bits[1], ":100,200,300,400,500,600,700,800,900" ); // include all weights for general font
} else {
$gfonts[] = cryout_gfontclean( $bits[1], ":".$options[$itemw] );
};
$roots[] = cryout_gfontclean( $bits[1] );
}
};
Since the Dark Theme in Firefox 68.0.2 still has a flashing white page when opening a new tab, it’s no useable dark theme in my opinion.
That’s why I prefer ShadowFox (Github) instead of the native dark theme. Easy to install and many ways to do further customizing.
Firefox Add-ons I use:
Also, I like bookmarks in the toolbar centralized. Just append the following lines to the userChrome.css.
The file is placed in your Firefox Profile: ~/.mozilla/firefox/profile_name/chrome/userChrome.css
#PersonalToolbar {
display: flex !important;
justify-content: center !important;
}
I followed this guide for using Wireguard inside LXC on Proxmox. (Also helpfull)
echo "deb https://deb.debian.org/debian/ unstable main" > /etc/apt/sources.list.d/unstable.list
printf 'Package: *\nPin: release a=unstable\nPin-Priority: 90\n' > /etc/apt/preferences.d/limit-unstable
apt update
apt install wireguard
But as i ran “modprobe wireguard” I just got:
modprobe: FATAL: Module wireguard not found in directory /lib/modules/5.0.15-1-pve
So I ran “dkms autoinstall”… but no success.
Error! Your kernel headers for kernel 5.0.15-1-pve cannot be found.
Please install the linux-headers-5.0.15-1-pve package,
or use the --kernelsourcedir option to tell DKMS where it's located
As I run “apt install pve-headers” it installed new pve-headers but for a different kernel:
pve-headers pve-headers-5.0 pve-headers-5.0.21-1-pve
As expected, “modprobe wireguard” still returned
modprobe: FATAL: Module wireguard not found in directory /lib/modules/5.0.15-1-pve
So i checked my current kernel with “uname –kernel-release” and since my last reboot was about two weeks ago, it was running on 5.0.15-1-pve. So I did a reboot, checked the kernel again and now it was on 5.0.21-1-pve. So I did “dkms autoinstall” again, now with success:
Kernel preparation unnecessary for this kernel. Skipping...
Building module:
cleaning build area...
make -j4 KERNELRELEASE=5.0.21-1-pve -C /lib/modules/5.0.21-1-pve/build M=/var/lib/dkms/wireguard/0.0.20190702/build..........
cleaning build area...
DKMS: build completed.
wireguard.ko:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /lib/modules/5.0.21-1-pve/updates/dkms/
depmod....
DKMS: install completed.
“modprobe wireguard” now returned no error. I continued the guide with:
echo "wireguard" >> /etc/modules-load.d/modules.conf
Entered my already created Debian 10 container and followed the guide:
echo "deb https://deb.debian.org/debian/ unstable main" > /etc/apt/sources.list.d/unstable-wireguard.list
printf 'Package: *\nPin: release a=unstable\nPin-Priority: 90\n' > /etc/apt/preferences.d/limit-unstable
apt update
apt-get install --no-install-recommends wireguard-tools
ip link add wg0 type wireguard
Edit: To get Wireguard working, I also had to add the TUN device to the containers config, like I did for OpenVPN as well.
You’ll find the config here: /etc/pve/lxc/container_name.conf
lxc.cgroup.devices.allow: c 10:200 rwm
lxc.hook.autodev: sh -c "modprobe tun; cd ${LXC_ROOTFS_MOUNT}/dev; mkdir net; mknod net/tun c 10 200; chmod 0666 net/tun"
Enter your OpenVPN config:
nano /etc/openvpn/server.conf
and add the following line with the local IP of your Pi-hole:
push "dhcp-option DNS 192.168.X.X"
Append the following two lines to the lxc config file on your Proxmox host.
You’ll find the config here: /etc/pve/lxc/container_name.conf
Got this info from here and it works fine.
lxc.cgroup.devices.allow: c 10:200 rwm
lxc.hook.autodev: sh -c "modprobe tun; cd ${LXC_ROOTFS_MOUNT}/dev; mkdir net; mknod net/tun c 10 200; chmod 0666 net/tun"
There is just one line necessary for the openVPN installation.
wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh
If you want to add another profile, just run the installer again:
bash openvpn-install.sh
Find related example reports in package SBCOMS.
TRY.
DATA(lo_sender) = cl_sapuser_bcs=>create( sy-uname ).
DATA(lo_recipient) = cl_cam_address_bcs=>create_internet_address( i_address_string = lv_mailaddress ).
DATA(lv_html_text) = |<BODY> | &&
|<p>Guten Tag,<br>| &&
|<br>| &&
|Es ist ein Fehler aufgetreten.<br>| &&
|Bitte schauen Sie in das Application Log.<br>| &&
|<br>| &&
|Vielen Dank!</p>| &&
|</BODY>|.
DATA(lo_document) = cl_document_bcs=>create_document( i_type = 'HTM'
i_text = cl_document_bcs=>string_to_soli( ip_string = lv_html_text )
i_subject = |Fehler| ).
" Erzeuge Business Communication Service und setze Objekte
DATA(lo_send_request) = cl_bcs=>create_persistent( ).
lo_send_request->set_sender( lo_sender ). " Sender
lo_send_request->add_recipient( lo_recipient ). " Empfänger
lo_send_request->set_document( lo_document ). " Mailtext
lo_send_request->set_send_immediately( abap_true ). " Mail sofort senden
lo_send_request->send( ). " Sende Mail!
COMMIT WORK. " Ohne Commit wird keine Mail in der SOST auftauchen
" Schreibe Fehler in das Log
CATCH cx_address_bcs INTO DATA(lx_address_bsc).
mr_log->add_exception( i_exception = lx_address_bsc ).
CATCH cx_send_req_bcs INTO DATA(lx_send_req_bcs).
mr_log->add_exception( i_exception = lx_send_req_bcs ).
CATCH cx_document_bcs INTO DATA(lx_document_bcs).
mr_log->add_exception( i_exception = lx_document_bcs ).
ENDTRY.
cl_demo_output=>new( )->write_data( lt_display_data )->display( ).
*or
cl_demo_output=>display( lt_display_data ).