Skocz do zawartości

Blog IPSBeyond.pl

  • wpisy
    75
  • komentarzy
    38
  • wyświetleń
    121765

O blogu

Blog poświęcony wszystkiemu temu co związane z IPS Communiity Suite (dawniej IP.Board) oraz z funkcjonowaniem tego forum

Wpisy w tym blogu

Spanner

Używasz aplikacji (SD) My Places i chciałbyś zaimportować z pliku csv nowe miejsca? Nic prostszego w tym wpisie zobaczysz jakie to proste.

Czym jest aplikacja (SD) My Places?

My Places jest zaawansowaną aplikacją pozwalającą społeczności dzielić się ciekawymi trasami. Aplikacja jest idealnym rozwiązaniem dla forów o tematyce motocyklowej, rowerowej czy samochodowej. Niemniej jednak zastosowań jest dużo więcej. Podstawową funkcjonalnością aplikacji jest dodawanie tras. Możemy to zrobić na kilka sposobów: wyznaczając trasę na mapie google z punktu A do punktu B, zaimportować istniejącą już trasę (tutaj możemy importować trasy z kilku rodzajów plików) lub wkleić link do google maps i aplikacja sama stworzy nam trasę. Dodatkowo taką trasę możemy uzupełnić o opis, czas jaki jest potrzebny na przejechanie jej, zdjęcia z trasy oraz kiedy ją odbyliśmy.

Oczywiście administrator może stworzyć dodatkowe pola, które jeszcze bardziej uatrakcyjnią taki wpis. Mając już taki wpis użytkownicy mogą komentować, oceniać trasę a także zaznaczać, że odbyliśmy, nie odbyliśmy lub chcieli byśmy odbyć trasę.

No dobrze, ale co zrobić jeśli mamy plik csv z listą setek tras? Dodawanie ich ręcznie przyprawi nas o ból głowy. Na to pytanie odpowiedzią jest poniższa część wpisu.

Jak zaimportować miejsca?

Cały proces importowania nowych miejsc obrazuje poniższy film.

 

 

 

 

Spanner

W ostatnim czasie robiłem aktualizację dość dużego forum z wersji IP.Board 3 do wersji IPS Community Suite 4. Oczywiście nie obyło się bez problemów. Podstawowym problemem jak zawsze przy aktualizacji są polskie znaki.

Jeśli forum jest w latin2 to nie ma z tym problemów bo wiadomo, że trzeba je przekonwertować do utf-8. Ale co zrobić jeśli nasze forum w wersji 3 miało kodowanie utf, a aktualizacja stwierdza, że to nie jest utf i trzeba dokonać konwersji? W przypadku małego forum możemy oczywiście próbować wykonać taką konwersję, ale z doświadczenia wiem, że nie rzadko kończy się to tym, że zamiast polskich znaków diakrytycznych mamy krzaczki  w postaci np. znaków zapytania.

Metoda, którą przestawiam poniżej jest dość prosta, choć trochę się naszukałem i nakombinowałem aby to zrobić. Niestety aby wszystko działało prawidłowo musimy mieć dostęp do bazy danych z poziomu SSH.

SELECT CONCAT("ALTER TABLE ",TABLE_SCHEMA,".",TABLE_NAME," CHARACTER SET utf8 COLLATE utf8_general_ci; ", "ALTER TABLE ",TABLE_SCHEMA,".",TABLE_NAME," CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci; ") AS alter_sql FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'NAZWA_BAZY_DANYCH' INTO OUTFILE '/tmp/database.txt';

Zapytanie to tworzy listę zapytań typu ALTER TABLE..., które zmieniają kodowanie tabel z utf8_genral_ci na utf8_unicode_ci dla bazy danych podanej w NAZWA_BAZY_DANYCH.

Następnie musimy uruchomić z poziomu SSH plik, który powstanie w wyniku tego zapytania i koniec. Możemy dokonać aktualizacji forum bez żadnej dodatkowej konwersji.

 

Spanner

Live streams jest aplikacją dla IPS Community Suite 4, która pozwala prezentować streaming gier z portali: Twitch.tv, Beam.pro i Hitbox.tv. 

Funkcjonalności aplikacji Live streams

Oczywiście do podstawowych funkcjonalności należy dodawanie strumieni przez użytkowników. Sam proces dodawania odbywa się w dwojaki sposób. Możemy albo podać nasz login w serwisie, albo link do naszego profilu. Dodatkowo musimy wybrać platformę, z której dodajemy strumień, oraz jeśli chcemy możemy dodać jakiś własny opis.

System dodatkowo pozwala na zakup płatnego wyróżnienia kanału. Płatność realizowana jest przez aplikację Store (dawniej IP.Nexus).

Sam widok profilu strumienia możemy dodatkowo komentować (jeśli administrator włączył taką opcję). Na stronie znajduje się także chat danego systemu strumienia. Administrator może wybierać jego położenie (nad playerem, obok playera, poniżej playera).

Oczywiście oprócz tego są jeszcze liczne widgety pokazujące aktywności z systemu oraz możliwość automatycznego tworzenia tematów po dodaniu strumienia.

Wygląd aplikacji Live streams

Poniżej przedstawiam kilka screenów z wyglądu aplikacji

Stream-view-right.png

grid-view.png

Live-stream-my-streams.png

Live-stream-main-page-new.png

Live-stream-Games.png

Live-stream-home-block.png

Live-stream-Game-Streamers.png

Stream-view-bottom.png

Stream-form.png

topic-view.png

Stream-view-top.png

List-view.png

Live-stream-additional-filters.png

Live-stream-filter-by-platform.png

Spanner

Praktycznie każda aplikacja, którą piszemy, będziemy pisać w przyszłości będzie potrzebować systemu komentarzy. Nie ważne czy jest to aplikacja typu moje trasy, blog, platforma z ogłoszeniami. Zawsze dążymy do tego by użytkownik wchodził w jakąś interakcję z dodaną treścią. Najłatwiej jest to osiągnąć właśnie przez system komentarzy.

Co musimy zrobić?

Aby uruchomić system komentarzy w naszej aplikacji musimy wykonać 3 kroki:

  1. Dodać odpowiedni kod do klasy elementu, który będzie przetrzymywał komentarze
  2. Stworzyć odpowiednią strukturę tabeli
  3. Stworzyć model klasy komentarzy

Ale zacznijmy od początku.

Zmiana w pliku

Opiszę tutaj to na przykładzie jednej z moich aplikacji. Aplikacja znajduje się w przestrzeni nazw IPS\livestreams a elementem (modelem), który będzie przetrzymywać komentarze jest Stream. Zatem Otwieramy plik: /applications/livestreams/sources/Stream/Stream.php i wklejamy w nim wewnątrz klasy:

	/**
	 * @brief	Comment Class
	 */
	public static $commentClass = 'IPS\livestreams\Stream\Comment';

Struktura bazy danych

Tutaj musimy stworzyć dość prostą tabelę a mianowicie:

CREATE TABLE `ibf_livestreams_streams_comments` (
	`comment_id` INT(10) NOT NULL AUTO_INCREMENT,
	`comment_stream_id` INT(10) NOT NULL DEFAULT '0',
	`comment_member_id` MEDIUMINT(8) NOT NULL DEFAULT '0',
	`comment_author` VARCHAR(255) NULL DEFAULT NULL,
	`comment_ip_address` VARCHAR(46) NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_ci',
	`comment_date` INT(10) NULL DEFAULT NULL,
	`comment_append_edit` TINYINT(1) NULL DEFAULT '0',
	`comment_approved` TINYINT(1) NOT NULL DEFAULT '0',
	`comment_text` MEDIUMTEXT NULL COLLATE 'utf8mb4_unicode_ci',
	`comment_edit_time` INT(10) NOT NULL DEFAULT '0',
	`comment_edit_name` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_ci',
	PRIMARY KEY (`comment_id`),
	INDEX `comment_parent_id` (`comment_stream_id`),
	INDEX `comment_author_id` (`comment_member_id`)
);

Idąc od początku:

  • comment_id - Id komentarza w bazie
  • comment_stream_id - Id elementu, którego komentarz ma dotyczyć
  • comment_member_id - Id autora komentarza
  • comment_author - Nazwa autora
  • comment_ip_address - Adres IP użytkownika
  • comment_date - Data dodania wpisu
  • comment_approved - Czy komentarz jest zatwierdzony
  • comment_text - Treść komentarza
  • comment_edit_time - Czas, kiedy komentarz był edytowany

Model klasy komentarzy

Plik musi nosić nazwę Comment.php i znajdować się w katalogu /applications/livestreams/sources/Stream/. A jego kod wygląda następująco:

<?php
/**
 * SolutionrDEVs Application
 * (SD) Live Streams
 *
 * @brief       Comment model
 * @author      Dawid Baruch <dawid.baruch@solutiondevs.pl> <a href='http://www.solutiondevs.pl'>SolutionDEVs</a>
 * @copyright   (c) 2005 - 2016 SolutionDEVs
 * @package     SolutionDEVs Apps
 * @subpackage  (SD) Live Streams
 * @link        http://www.solutiondevs.pl
 * @link        http://www.ipsbeyond.pl
 * @since       25 Aug 2016
 * @version     2.0.0
 */

namespace IPS\livestreams\Stream;

/* To prevent PHP errors (extending class does not exist) revealing path */
if( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
{
	header( ( isset( $_SERVER[fusion_builder_container hundred_percent="yes" overflow="visible"][fusion_builder_row][fusion_builder_column type="1_1" background_position="left top" background_color="" border_size="" border_color="" border_style="solid" spacing="yes" background_image="" background_repeat="no-repeat" padding="" margin_top="0px" margin_bottom="0px" class="" id="" animation_type="" animation_speed="0.3" animation_direction="left" hide_on_mobile="no" center_content="no" min_height="none"][ 'SERVER_PROTOCOL' ] ) ? $_SERVER[ 'SERVER_PROTOCOL' ] : 'HTTP/1.0' ) . ' 403 Forbidden' );
	exit;
}

/**
 * Stream Comment Model
 */
class _Comment extends \IPS\Content\Comment implements \IPS\Content\EditHistory, \IPS\Content\ReportCenter, \IPS\Content\Hideable, \IPS\Content\Reputation, \IPS\Content\Searchable, \IPS\Content\Embeddable
{
	/**
	 * @brief	[ActiveRecord] Multiton Store
	 */
	protected static $multitons;
	
	/**
	 * @brief	[Content\Comment]	Item Class
	 */
	public static $itemClass = 'IPS\livestreams\Stream';
	
	/**
	 * @brief	[ActiveRecord] Database Table
	 */
	public static $databaseTable = 'livestreams_streams_comments';
	
	/**
	 * @brief	[ActiveRecord] Database Prefix
	 */
	public static $databasePrefix = 'comment_';
	
	/**
	 * @brief	Database Column Map
	 */
	public static $databaseColumnMap = array(
		'item'				=> 'stream_id',
		'author'			=> 'member_id',
		'author_name'		=> 'author',
		'content'			=> 'text',
		'date'				=> 'date',
		'ip_address'		=> 'ip_address',
		'edit_time'			=> 'edit_time',
		'edit_member_name'	=> 'edit_name',
		'edit_show'			=> 'append_edit',
		'approved'			=> 'approved'
	);
	
	/**
	 * @brief	Application
	 */
	public static $application = 'livestreams';
	
	/**
	 * @brief	Title
	 */
	public static $title = 'livestreams_streams_comment';
	
	/**
	 * @brief	Icon
	 */
	public static $icon = 'video-camera';
	
	/**
	 * @brief	Reputation Type
	 */
	public static $reputationType = 'comment_id';
	
	/**
	 * @brief	[Content]	Key for hide reasons
	 */
	public static $hideLogKey = 'livestreams-scomment';
	
	/**
	 * Get URL for doing stuff
	 *
	 * @param	string|NULL		$action		Action
	 * @return	\IPS\Http\Url
	 */
	public function url( $action=NULL )
	{
		return parent::url( $action )->setQueryString( 'tab', 'comments' );
	}
}

I ogólnie to tyle, aby dodać komentarze do naszej aplikacji

Spanner

Zapewne zauważyłeś, że na blogu staram się poruszać tematykę stricte związaną z programowaniem dodatków do IPS Community Suite. Pod tym względem forma bloga nie zmieni się, ale mam za to dla Ciebie małą niespodziankę.

W najbliższym czasie rozpocznę serię wpisów, które będą stanowić dość sporą dawkę wiedzy jeśli chodzi o programowanie. Muszę jednak zaznaczyć na samym wstępnie, że nie będę uczył podstaw programowania w PHP. Tę tajemną wiedzę, musisz zgłębić sam.

Czego możesz się spodziewać?

Tworzenie dodatków jest dość skomplikowanym procesem, niemniej jednak postaram się opisywać różne sztuczki i rozwiązania problemów, za sprawą których powinno Ci być łatwiej. Jednym z takich wpisów jest ostatni tekst: oEmbed wordpressowe na forum

Czy nauczę się tworzyć dodatki?

Tutaj odpowiedź nie jest taka prosta, bo to wszystko zależy od Twoich umiejętności. Nie nauczę Cię tak, jak w szkole nas uczono czytać czy pisać, ale postaram się nakreślić w stopniu jak najbardziej zrozumiałym cały proces. Natomiast to, co zrobisz z tak zdobytą wiedzą, zależy już tylko od Ciebie.

Spanner

oEmbed wordpressowe na forum

Osadzanie treści przy użyciu standardu oEmbed jest bardzo fajnym rozwiązaniem. Dzięki temu możemy podając link np. do facebooka zobaczyć ten wpis na naszej stronie. Facebook oczywiście nie jest jedynym takim serwisem. Takie osadzanie treści możemy zrealizować chociażby dla pinteresta, youtube, instagrama i innych.
W przypadku facebooka wyglądało by to mniej więcej tak:

IPS Community Suite oczywiście także pozwala na takie osadzanie treści, ale co w przypadku, gdy chcemy osadzić wpis z wordpressa? Niestety tutaj byliśmy skazani na porażkę ponieważ domyślnie nie ma takiej możliwości.

Jeśli jednak chcielibyśmy mieć taką możliwość musimy napisać prosty hook, który rozszerza klasę \IPS\Text\Parser i nadpisać metodę oembedServices przykładowo w taki sposób:

    /**
	 * Get OEmbed Services
	 * Implemented in this way so it's easy for hook authors to override if they wanted to
	 *
	 * @see		<a href="http://www.oembed.com" data-mce-href="http://www.oembed.com">oEmbed</a>
	 * @return	array
	 */
	protected static function oembedServices()
    {
        $return = parent::oembedServices();
        
        $return[fusion_builder_container hundred_percent="yes" overflow="visible"][fusion_builder_row][fusion_builder_column type="1_1" background_position="left top" background_color="" border_size="" border_color="" border_style="solid" spacing="yes" background_image="" background_repeat="no-repeat" padding="" margin_top="0px" margin_bottom="0px" class="" id="" animation_type="" animation_speed="0.3" animation_direction="left" hide_on_mobile="no" center_content="no" min_height="none"][ 'ipboard.ninja' ] = 'http://ipboard.ninja/wp-json/oembed/1.0/embed';
        
        return $return;
    }

A co jeśli nie czujemy się zbytnio na siłach lub nie mamy czasu na tworzenie własnych dodatków? Tutaj z pomocą przychodzi nam dodatek (SD) oEmbed.

Ustawienia dodatku (SD) oEmbed

Ustawienie dodatku jest bardzo proste i sprowadza się do podania dwóch rzeczy: domeny oraz linku, który generuje kod oEmbed dla danej domeny. Przykładowo:

ipboard.ninja;http://ipboard.ninja/wp-json/oembed/1.0/embed

SD-oEmbed-settings.png

Spanner

Czasami w aplikacji, którą piszemy potrzebujemy zrobić szybki podgląd zawartości. Przykładem takiego miejsca jest chociażby lista tematów w danym forum, gdzie po najechaniu myszką na tytuł tematu po chwili pokazuje nam się podgląd pierwszego i ostatniego posta w temacie.Podgląd taki jest efektem bardzo prostym do osiągnięcia. Pokażę to na przykładzie mojej nowej aplikacji.

W widoku, w miejscu gdzie jest link do wpisu dodajemy coś takiego:

data-ipsHover data-ipsHover-target='{$row->url()->setQueryString( 'preview', 1 )}' data-ipsHover-timeout='1.5'

Czyli całość wygląda np. tak:

<a href="{$row->url()}" data-ipsHover data-ipsHover-target='{$row->url()->setQueryString( 'preview', 1 )}' data-ipsHover-timeout='1.5'>{$row->name}</a>

Następnie w kontrolerze dla takiego żądania musimy stworzyć odpowiedni kod, który obsłuży takie żądanie. W moim przypadku kod jest umieszczony w metodzie manage() i zawiera bardzo prosty kod:

        if( \IPS\Request::i()->isAjax() && \IPS\Request::i()->preview )
        {
            \IPS\Output::i()->sendOutput( \IPS\Theme::i()->getTemplate( 'core' )->ticketHover( $this->ticket ) );
            return;
        }

I to jest w sumie tyle. Jak będzie wyglądać podgląd i co będziecie w nim prezentować zależy już tylko od Was.

Spanner

IPS Community Suite domyślnie na listingach tabelarycznych takich jak np. lista tematów w danym forum wyświetla 25 rekordów na stronę. Pisząc własną aplikację możemy tą liczbę bardzo prosto zmienić, ale co w przypadku, gdy chcemy ją zmienić właśnie dla tematów?Tutaj niestety musimy już dokonać zmiany globalnie i trzeba edytować plik: /system/Helpers/Table/Table.php

W którym musimy znaleźć następujący kod:

    /**
      * @brief    Number of records to show
      */
     public $limit = 25;

W przypadku, gdy tworzymy własną aplikację i użyjemy kodu:

$table = new \IPS\Helpers\Table\Content( ... );

wystarczy dodać kod:

$table->limit = X;

gdzie oczywiście X to pożądana wartość

Spanner

Wsparcie aplikacji

Jak wiecie (albo i nie) postanowiłem ograniczyć ilość aplikacji mojego autorstwa dla IPS Community Suite 4 do raptem kilku. Spowodowane jest to kilkoma dość istotnymi czynnikami. Między innymi spowodowane jest to brakiem wystarczającego czasu, który mógłbym przeznaczyć na rozwój większej ilość dodatków.

Możliwe, że to ulegnie zmianie, ale na chwilę obecną te kilka aplikacji posiada dość skomplikowane funkcjonalności a wprowadzenie kolejnych tak zaawansowanych niesie za sobą spore nakłady czasowe.

Do tego wszystkiego dochodzą także inne zlecenia na autorskie dodatki, pasja do motocykli, rodzina itp, itd.

Nie mniej jednak postanowiłem napisać kolejną aplikację, tym razem na użytek wewnętrzny. Będzie to spora aplikacja umożliwiająca zarządzanie projektami. Będzie to za równo bugtracker jak i miejsce do zgłaszania nowych funkcjonalności itp, itd. Mam nadzieje, że znacznie ułatwi to wszystkim korzystanie z aplikacji i ułatwi zgłaszanie błędów i propozycji.

Dokładniejszy opis aplikacji wraz ze screenami, opisami funkcjonalności itp opiszę niedługo na łamach bloga.

Spanner

Zgodnie z wcześniejszymi zapowiedziami uruchamiamy nowy cykl publikacji na łamach IPSBeyond.pl.

Na początek zaczynamy od prezentacji w jaki sposób dodawać pola dodatkowe do (SD) Company Directory 3

Zapraszamy także na nasz kanał w serwisie Youtube, gdzie możecie znaleźć wszystkie nasze publikacje

Spanner

Tajemnica hashtagu #sdmp

W ostatnim czasie nasz fanpage na facebooku oraz kanał na twitterze zalewały informacje oznaczone tagiem #sdmp. Zapewne wielu z Was zastanawiało się co to za skrót i o jakiej aplikacji piszę skrycie ją ukrywając. Jak nie trudno się domyśleć początkowe 2 litery czyli sd oznaczają nic inneg jak przedrostek wszystkich moich aplikacji, czyli (SD), które to jest skrótem od SolutionDEVs :)

Inaczej wygląda natomiast sprawa z pozostałymi dwiema literami. MP jest skrótem od My Places. A zatem sdmp to nic innego jak (SD) My Places.

No dobrze, jak już znacie znaczenie skrótu to zapewne ciekawi Was co to za aplikacja i do czego służy. Już spieszę Wam to wszystko wyjaśnić.

(SD) My Places jest aplikacją przeznaczoną na fora, które skupiają się wokół podróżowania (fora motocyklowe, ogólno turystyczne, rowerowe, samochodowe, itp). Aplikacja pozwala nam dodawać różne trasy i miejsca. Na poniższym filmiku możecie zobaczyć jak to mniej więcej wygląda.

Zapraszamy też do subskrybowania naszego kanału w serwisie YouTube.Już niedługo pojawią się tam kolejne publikacje.

Spanner

Duża część z Was chciała być na bieżąco informowana na temat rozwoju aplikacji przy użyciu bloga. Stąd też dzisiaj pierwszy wpis dotyczący prac na nową wersją (SD) Newsletter 2.0.0.

Nowa wersja

W stosunku do poprzedniej wersji w aplikacji nie będzie zbyt wiele zmian. Podobnie jak w przypadku (SD) Company Directory 3 zrezygnuje z supportu premium, który nie cieszył się popularnością. Newsletter podobnie jak katalog firm w jednej z kolejnych wersji trzymają za to zupełnie nową innowacyjną funkcjonalność, która przynajmniej na razie jest spisana tylko w moich notatkach.

W pierwszej odsłonie nie będzie także możliwości tworzenia dynamicznych newsletterów dla dowolnych aplikacji. Początkowo dostępne będą tylko domyślne aplikacje IPS Community Suite, czyli Blog, Sklep, Forum, Strony, Galeria, Kalendarz, Pliki

Spanner

Istotne zmiany na blogu

Po dłuższym czasie nie pisania na blogu witam wszystkich i każdego z osobna :)

Dzisiejszy wpis będzie bardziej informacyjny a niżeli przynoszący jakieś wymierne korzyści ale mimo wszystko zachęcam do czytania.

Na początek kilka informacji na temat zmian.

Możliwe, że niektórzy już zauważyli, a jeśli nie to nic się nie stało. W dniu dzisiejszym wszystkie moje blogi, które poświęcone były różnym aspektom IP.Board, między innymi blog o informacjach developerskich, zostały połączone z tym blogiem. Powód był jeden: im więcej miałem blogów tym mniej mi się chciało na nich pisać i coraz ciężej było skategoryzować, do którego bloga zaliczyć daną treść.

 

A teraz pora na nowość:)

Chciałbym zapoczątkować nowy cykl wpisów na blogu poświęcony konkretnym aplikacjom. Cykl pragnę zacząć od nowej wersji (SD) Company Directory.

 

Jak zawsze zapraszam do komentowania. Co w ogóle myślicie na temat takich zmian?

Spanner

Dzisiejszy wpis będzie wyglądał trochę inaczej niż dotychczasowe wpisy. Nie będę tutaj opisywał dokładnie wszystkich zmian, tylko podam Wam namiary na mój blog, w którym wszystko ładnie opisałem co i jak.

Najnowsza odsłona (SD) Sales Portal Pro przyniesie wiele ciekawych i długo wyczekiwanych rozwiązań:

Ponieważ pracy nad nową wersją mam sporo to cały czas możecie zgłaszać swoje propozycje tutaj: http://www.ipsbeyond.pl/ideas/category/28-sales-portal-pro/

Najciekawsze z nich zostaną wdrożone jeszcze w wersji 1.2.0 a autorzy otrzymają rabat na zakup aplikacji.

Duke_

(SD) Register Board 1.0.0

Dzisiaj chciałbym zaprezentować nową aplikację jaką jest (SD) Register Board.

Zapewne zastanawiacie się do czego służy ta aplikacja?

Jeśli chcecie prowadzić na swoim forum rekrutację na klubowicza, tłumacz, moderatora lub do innej grupy to ta aplikacja jest właśnie dla Was. Możecie w niej w bardzo prosty sposób stworzyć formularz, przy użyciu którego użytkownicy będą mogli się rejestrować. W konsekwencji czego nie trzeba będzie czytać wypocin czy to na forum czy na PW :)

Funkcjonalność:

  • Możliwość definiowania dowolnej ilości pól w formularzu
  • Możliwość stworzenia regulaminu zapisu, który musi być zaakceptowany przed przejściem do wypełniania pół
  • Po zatwierdzeniu/odrzuceniu zgłoszenia możemy wysłać z automatu prywatną wiadomość o zdefiniowanej treści
  • Po zatwierdzeniu zgłoszenia możemy automatycznie przenieść użytkownika do nowej grupy
  • Po zatwierdzeniu zgłoszenia możemy automatycznie założyć temat w wybranym forum o zdefiniowanej treści
  • Możliwość ustawienia czasu jaki musi upłynąć aby użytkownik mógł ponownie dodać zgłoszenie
  • Możliwość zdefiniowania wymaganej ilości postów, aby móc dodać zgłoszenie
  • Możliwość zdefiniowania wymaganej ilości dni od dołączenia użytkownika, aby ten mógł dodać zgłoszenie

Aplikacja jest do kupienia w naszym sklepie: (SD) Register Board

Spanner

Aktualnie rozpocząłem prace nad nową wersją oznaczoną numerkiem 1.1.0. Zapewne dziwicie się dlaczego 1.1.0 a nie 1.0.1 skoro to druga wersja dopiero.

Odpowiedź jest dość prosta. Idąc w myśl zasady aplikacje swoje numeruje w sposób następujący: <major>.<minor>.<path/build>

gdzie:

major oznacza duże zmiany w aplikacji np. tak jak było z katalogiem firm, gdzie z prostej aplikacji zmieniło się praktycznie wszystko, wtedy też zwiększam tą część wersji o 1 :)

minor oznacza wprowadzenie nowych funkcjonalności

Natomiast path/build to po prostu poprawki znalezionych błędów i nieznaczne ulepszenia nie mające wpływu na resztę :)

Tak więc wracając do meritum... Trwają prace nad nową wersją, która przyniesie wiele zmian także tych, które do tej pory zgłosiliście. Jeśli ktoś ma jakieś jeszcze propozycje/pomysły to proszę zgłaszać w aplikacji tutaj: http://www.ipsbeyond.pl/ideas/category/28-sales-portal-pro/ lub nawet bezpośrednio do mnie na PW.

Pisząc PW prosiłbym o podanie w temacie tagu [sales Portal Pro] tytuł

Spanner

(SD) Company Directory 2.3.0

Aplikacja (SD) Company Directory dawno nie miała nowej odsłony. W związku z tym postanowiłem napisać nową wersję, która będzie zawierać szereg zmian. Zmian jest na tyle dużo, że wersja nie otrzymuje numerka 2.2.3 tylko 2.3.0.

Najważniejszymi zmiana w nowej wersji są:

  • Możliwość tworzenia zagnieżdżonych kategorii
  • Możliwość ustawienia uprawnień dla każdej kategorii
  • Możliwość zdefiniowania dla każdej kategorii osobnych pól dodatkowych
  • Możliwość migracji tematów na komentarze do profilu firmowego
  • Możliwość zdefiniowania regulaminu aplikacji, a jeśli jest on zdefiniowany użytkownik aby dodać profil musi go zaakceptować
  • Zakładka w profilu użytkownika pokazująca profile dodane przez danego użytkownika
  • Możliwość dodawania wpisów przez gości
  • Skin mobilny

Zmiany powinny ucieszyć wiele osób, ponieważ w końcu katalog oferuje możliwość tworzenia drzewa kategorii oraz dodatkowo każda kategoria może posiadać inne uprawnienia i do każdej kategorii można przypisać inny zestaw pól dodatkowych.

Więcej na temat nowej wersji będzie można przeczytać już za niedługo na moim blogu: Dawid Baruch - DEV blog

Spanner

Po kilku namowach @Duke_'a i innych użytkowników postanowiłem zabrać się za napisanie profesjonalnej platformy sprzedażowej dla IP.Board.

W tym wpisie postaram się przybliżyć Wam trochę ten temat.

Czym tak naprawdę będzie (SD) Sales Portal Pro?

Będzie to platforma sprzedażowa, która umożliwi administratorom forum stworzenie miejsca, gdzie użytkownicy będą mogli sprzedawać swoje dobra. Czy będzie to prosty dział sprzedam, czy rozbudowana platforma sprzedażowa zależeć będzie już tylko i wyłącznie od administratora forum.

Nie będę pisał, że będzie to allegro dla IP.Board bo aż takiej funkcjonalności tutaj nie osiągnę, ale mogę zagwarantować, że będzie to w pełni profesjonalna aplikacja oferująca bardzo dużo swoim klientom.

Jakie funkcje będzie posiadać aplikacja?

Oczywiście podstawową funkcjonalnością będzie tutaj możliwość tworzenia kategorii oraz dodawania ofert :) Dodatkowo aplikacja będzie posiadać moduł FAQ oraz możliwość zadawania pytań sprzedającemu.

Oczywiście nie może zabraknąć rozwiązań rodem z portali aukcyjnych, czyli komentarze po aukcji.

Jak będą realizowane płatności?

Wszystkie płatności w aplikacji, czyli zarówno opłata za wystawienie aukcji jak i płatność za kupiony przedmiot będą realizowane przy użyciu aplikacji IP.Nexus. Dzięki takiemu połączeniu będziemy mieć dostępne wiele możliwości płatności.

Kolejne funkcjonalności są w tracie realizowania więc zostaną opisane nieco później...

Więcej na temat aplikacji można przeczytać we wpisie: (SD) Sales Portal Pro – Nowa platforma sprzedażowa dla IP.Board - Baruch.pl

Spanner

SolutionDEVs jako lider w tworzeniu aplikacji dla IP.Board tym razem pragnie zaprezentować zupełną nowość na światowym rynku - aplikację (SD) Playstation Network Leaderboard.

Czym jest (SD) Playstation Network Leaderboard?

Podobnie jak aplikacja (SD) Xbox Live LeaderBoards służy do prezentowania aktywności użytkowników sieci Playstation Network.

Aplikacja ta powinna się pojawić w najbliższym czasie. Obecnie trwają prace developerskie i testowe. Jeśli posiadacie konto w sieci PSN, to możecie pomóc w testach przesyłając na PW do mnie swój login w sieci PSN, aby można było przetestować wszystko na różnych graczach.

Spanner

(SD) Company Directory 2.2.1

W dniu dzisiejszym rozpocząłem prace nad nową wersją aplikacji (SD) Company Directory w wersji 2.2.1. Nowa wersja przyniesie nam szereg nowych i dość przydatnych funkcjonalności.

Do nowości możemy zaliczyć:

  • Prezentowanie firm w pobliżu, realizowane za pomocą geolokalizacji IP
  • Możliwość prezentowania firm tylko z wybranej kategorii na mapie
  • Możliwość wymuszenia płatnych wpisów
  • Możliwość importowania w panelu administratora nowych miast/województw

Spanner

Aplikacja (SD) Xbox live leaderboards cieszy się dość dużym zainteresowaniem. Wychodząc na przeciw oczekiwaniom użytkowników postanowiłem napisać kolejną wersję. Oczywiście wersja ta usuwa kilka uciążliwych błędów, ale także przynosi dość sporo nowych funkcjonalności. Jeśli chodzi o nowości w wersji 1.0.3 to podzieliłem je na 2 grupy: wizualne i funkcjonalne.

Jeśli chodzi o nowości wizualne to można do nich zaliczyć:

  • Zmianę wyglądu aplikacji zgodnie z sugestiami @Gangst3r'a
  • Wersja mobilna aplikacji

    Jeśli chodzi o zmiany funkcjonalne to ich będzie trochę :) może nie koniecznie dla użytkownika końcowego będzie to wiele zmian, ale od strony programistycznej będzie tego troszkę :) a mianowicie:

    • Usuwanie gamertagu – od teraz każdy użytkownik, moderator oraz administrator w ACP może usunąć danemu użytkownikowi profil z aplikacji
    • Moderatorzy – funkcjonalność moderatorów, którzy będą mogli wykonywać pewne czynności na graczy takie jak np. usuwanie gamertagu
    • System banowania – Można będzie zbanować użytkownika w systemie, przez co zostanie usunięty jego profil oraz straci on dostęp do aplikacji
    • Osiągnięcia użytkownika w grze – teraz będzie można zobaczyć jakie osiągnięcia ma każdy użytkownik w danej grze klikając w małą ikonkę
    • W widoku karty użytkownika doszła możliwość pokazania linku do strony xbox.com z naszym profilem
    • W panelu z informacjami użytkownika (np. po lewej stronie w poście) doszły 2 informacje: duże zdjęcie gracza oraz link do strony xbox.com z naszym profilem. Obie te informacje można wyłączyć w ustawieniach prywatności
    • Mam nadzieję że nowa wersja podobnie jak poprzednie przypadnie Wam do gustu :)

Spanner

Nowe regulaminy

Wraz z ciągłym rozwojem forum przychodzi czas na zmiany... Tym razem na celowniku znalazły się regulaminy. W najbliższym czasie w związku z tym nastąpią zmiany w regulaminach forum i zakupów oraz polityce cookie i polityce prywatności. Zmiany te są podyktowane dostosowaniem forum do aktualnie obowiązujących przepisów.

Wraz z tymi zmianami zostanie wprowadzona nowa usługa na dostępna tylko na forum IPSBeyond, a będzie to usługa newslettera z nowościami na rynku IP.Board...

Zachęcam do śledzenia forum i czynnego udziału w dyskusji :)

Spanner

(SD) Newsletter

SolutionDEVs jako lider aplikacji dla IP.Board pragnie przedstawić nowość na Polskim rynku, którą będzie aplikacja (SD) Newsletter. Aplikacja ta jest dedykowana wszystkim tym administratorom, którzy chcą wysyłać do użytkowników cykliczne newslettery z ciekawymi treściami lub informacjami.

Sama aplikacja nie ma nic wspólnego z użytkownikami na forum, oznacza to, że zapisać się do newslettera będzie mógł każdy, wystarczy, że poda swój adres email, nazwę oraz zaakceptuje regulamin. Od tego czasu adresaci będą dostawać wiadomości z informacjami zdefiniowanymi przez administratora forum.

Do dyspozycji administrator będzie miał dwa narzędzia:

  • Newsletter cykliczny
  • Wiadomości własne


    Newsletter cykliczny

    Czym jest tak naprawdę newsletter cykliczny? Są to wiadomości, wysyłane codziennie, co tydzień lub raz w miesiącu... Treść takiej wiadomości zależy od konfiguracji pluginów. Ponieważ będzie to aplikacja umożliwiająca dynamiczne definiowanie treści powstał system pluginów, który umożliwia zdefiniowanie dla dowolnej aplikacji sekcji zawierającej informacje. Dla przykładu możemy wysyłać pomysły, które zostały dodane w przeciągu ostatnich 7 dni.
    Jak to jest realizowane? Bardzo prosto w katalogu aplikacji tworzymy plik: /admin/applications_addon/other/XXX/extensions/newsletter/newsletterSection.php
    Plik ten musi dziedziczyć po klasie newsletterSectionCore i zawierać kilka niezbędnych metod, które umożliwią nam tworzenie odpowiednich sekcji i pobierania danych dla nich.

    To w jaki sposób zachowa się dana sekcja zależy tylko i wyłącznie od nas samych.


    Wiadomości własne

    Nie jest to nic innego jak wysyłka własnej treści do użytkowników. Nie różni się to zbytnio niczym od standardowej wysyłki maili na forum z tą różnicą że baza odbiorców jest inna :)


    Jakie opcje będzie posiadać aplikacja?

    Sama lista wszystkich opcji nie została jeszcze w 100% zamknięta, ale na tą chwilę są dostępne następujące opcje:

    • Wysyłka newslettera w HTML/zwykły tekst
    • Wysyłka newslettera w szablonie IP.Board lub własnym
    • Możliwość wysyłki newslettera codziennie/co tydzień/co miesiąc
    • Możliwość wysłania wiadomości powitalnej
    • Możliwość wysyłki wiadomości własnych
    • Śledzenie ilości wyświetleń newslettera (ile osób i kiedy zobaczyło newsletter)
    • Możliwość wypisania się z newslettera
    • Możliwość decydowania ile maili będzie wysyłanych na jeden cykl newslettera
    • Możliwość zapisania się do newslettera już na poziomie rejestracji na forum lub po wejściu na forum dowolnej osoby
    • Planowanym terminem wydania aplikacji jest końcówka lipca tego roku. W pierwszej wersji aplikacja będzie dostępna tylko z poziomu odbiorcy newslettera na tym forum :) Po testach wewnętrznych aplikacja zostanie wydana publicznie.

Spanner

Kilka dni temu rozpoczęły się prace nad nowym dodatkiem (SD) Xbox Live LeaderBoards. Znawcą tematu nie muszę tłumaczyć co to jest za aplikacja. Dodatek ten pozwala nam na podanie nazwy użytkownika w sieci Xbox live a następnie na specjalnej stronie możemy przeglądać aktywności użytkowników informacje o grach, w które grali owi użytkownicy. Aplikacja dodatkowo będzie posiadać możliwość przeglądania znajomych z sieci Xbox live z poziomu forum :)

Aplikacja powinna zostać ukończona na dniach, ale już dziś poszukiwani są ochotnicy, którzy będą chcieli przetestować tą aplikację. Dla aktywnych testerów przewidziane są rabaty na zakup aplikacji.

Spanner

Przyszedł najwyższy czas, aby rozpocząć prace nad wersją 1.1.0 aplikacji (SD) Ideas. W nowej wersji znajdziemy kilka ciekawych nowości i kilka poprawek błędów.

Do jednej z najważniejszej nowości będzie to, że nie będzie już wymagany IonCube do poprawnego działania aplikacji :)

Z pozostałych nowości można wymienić możliwość zmiany głosu, oraz podgląd głosów, kto jak głosował.

Ponadto wprowadzona zostanie możliwość decydowania o tym, czy komentarze mają być moderowane czy nie.

Czy macie jeszcze jakieś ciekawe propozycje?

×

Ważne informacje

Kontynuując przeglądanie strony, wyrażasz zgodę na używanie przez nas plików cookies.