The PortaMx story

Started by Feline, 10 years ago

previous topic - next topic

0 Members and 1 Guest are viewing this topic.

Feline

*
10 years ago
Today we started the PortaMx product story.
You can leave a comment to this here ...

Thanks,

Fel
Many are stubborn in relation to the way, but less in relation to the target.

restimguay

*
#1
10 years ago
Great success! You made it and I'm going to rate this portal from 1-10 I would say 10! Keep it up!

Tormod

*
#2
10 years ago
It looks great. But it is very similar to Tiny Portal?

Feline

*
#3
10 years ago
No .. PortaMx is programmed with php OOP and have many other features ...

Fel
Many are stubborn in relation to the way, but less in relation to the target.

Tormod

*
#4
10 years ago
Ok.  :) But it looks similar. But I am happy to find this site,  I have Felblog on my site...

Feline

*
#5
10 years ago
All portals looks similar .. TinyPortal, eZPortal, SimplePortal and mutch more  ;D

But all these are not in OOP programmed .. 8)

Fel
Many are stubborn in relation to the way, but less in relation to the target.

antechinus

*
#6
10 years ago
It might pay to explain what the difference is and what the advantages of OPP are.
Using Internet Explorer 6 on the internet is like urinating in a public swimming pool.
It's rude, there's no excuse for it, and anyone who does it should be ashamed of themselves.

Feline

*
#7
10 years ago
That is to cpmplexe as can I write that in english (too bad for that)

But .. I will give you a simple example...

If you have 5 blocks from the same type, the code of each block code is loaded 5 times on standard programming. If you programming the same with OOP, the code is loaded ONE time. For the other 4 blocks, the same code is used. Only the content (variables) is different.

Example:
// load the class file if not loaded
if(!class_exists(xyz))
  require_once(filexyz.php);

// create two identically objects, call the constructor to init the class with different variables
$object1 = new $classname(variables1);
$object2 = new $classname(variables2);

// call a object methode (note: a methode have the same functionality as a function in standard php)
$object1->methode(variables1):
$object2->methode(variables2):

And more examples:
You need two blocks .. mostly identically, but the one have the option x the other option y
With standard php you must write the same code twice.

With OOP you write ONE basic class they have all common options.
Then you add a subclass with option x and one subclass with option y. On both the basic class is the parent, they have the contructor.
No you can call the class x with all parameters and call the class y with the other parameters. Both subclasses calls automatically the parent class and the constructor in it. Both blocks do what you want .. but the code is smaller and simpler to handle and to support for the programmer.

Now my final question..
Can you call a function (with the same name) in one of the 5 same block in TinyPortal, eZportal, SimplePortal?

And my answer..
NO, NO, NO .. NEVER .. (php error)

And in PortaMx?
Of course .. call the object::methode ($object->methode())

I hope you spend for my explain  ;D

Fel
Many are stubborn in relation to the way, but less in relation to the target.

Cool

*
#8
10 years ago
this is why i loved the pmx from beginning (eaven as i can´t code that much)
|I Use: SMF 2.0.5 | PortaMx 1.51
Q: What do you do when you see a bear in the woods?
A: Play Dead!
H-A-H-L = Happy Admins Have Linux

antechinus

*
#9
10 years ago
Ok thanks Fel. I get the general idea. It is more or less like caching of css and images: load once and re-use in multiple locations. Good idea.

So that would mean when you are designing complex layouts it would be an advantage to use blocks that are all the same type (or as much as possible).
Using Internet Explorer 6 on the internet is like urinating in a public swimming pool.
It's rude, there's no excuse for it, and anyone who does it should be ashamed of themselves.

Feline

*
#10
10 years ago
Quote from: antechinus, 10 years ago
So that would mean when you are designing complex layouts it would be an advantage to use blocks that are all the same type (or as much as possible).

Yes, that is the basic design of the PortaMx.
Look at the sources .. we have ONE basic class (PortaMx_BlocksClass.php). These basic class make all things around the block .. show it or not, the access, title, collapse and the frame.
For the content itself -also that what show IN the block- we have a lot of subclasses like php, html, user, stats and more.

If you have a php block as example, a new object phpblock is created. This calls the contructor of the basic class with the blocksettings. Now the basic class contructor checks the access, the dynamic visibility and more. Then it return TRUE if the block set to show otherwise FALSE.
The main routine now destroy the object on FALSE or call the object::init() on TRUE.

The basic class itself have only a empty init() methode, these is often overwrite by subclasses, so have the subclass a init() methode, this is now called. The init() methode now can make database calls and/or fill the content.

At leat, the Template calls the show() methode of each block. The basic class have only a simple show() methode .. like echo $this->content. These show() methode is also often overwrite by subclasses, for a php block as example the show() methode have a echo eval($this->content).

And here on more example:
You need a specially php block, there have one or more additional features. How do that?
Easy .. create a new class (phpextend) with the additional features and use the parents phpclass and basicclass.
Now, if you call the phpextend contructor, these calls the phpclass contructor and these the basicclass contructor in the follow order:
phpextent:
call php contructor
init phpextent
return

php:
call phpbasic contructor
init php
return

basic:
init basic
return

You see what OOP do for you?
And based on these structure it's very ease to create new blocktypes ...

Fel

Many are stubborn in relation to the way, but less in relation to the target.

antechinus

*
#11
10 years ago
Ok, this is starting to make sense to me now. Sounds good. :)
Using Internet Explorer 6 on the internet is like urinating in a public swimming pool.
It's rude, there's no excuse for it, and anyone who does it should be ashamed of themselves.

Tyrsson

*
#12
10 years ago
And this is why Fel rocks!!

Thanks for the inside look at how its laid out in PortaMX. It helps a lot for those of us that are just getting into coding in OOP.

Penguin

*
#13
10 years ago
At a time when SMF caused great upheavel with their development of SMF 2 and it's very long beta testing, PortaMX was there providing an interface for SMF though all it's beta stages while all others hung back leaving operators and users in a lurch.

Thank You Portamx

Glen

*
#14
9 years ago
This portal looks very sharp, to say the least.  Once SMF 2.0 goes gold I'll definitely be checking out the PortaMX integration and features.

Very nice work!

Goldie

*
#15
9 years ago
best SMF portal ever  O0

thanks a lot for this awesome job.

many features, very complete, really easy to handle for newbies like me
no JS error so far (unlike other portals),

excellent ! 8)

makalelerr

*
#16
9 years ago
Gördüğüm en yi smf portal. Süpersiniz.
<a href="http://oyunoynaoyunlar.blogspot.com">Oyun Oyna</a>

forfun

*
#17
8 years ago
Quote from: feline, 10 years ago
Today we started the PortaMx product story.
You can leave a comment to this here ...

Thanks,

Fel

Thanks MUCH for the software and service Feline!
I am so bored tonight, so I've decided to read this post, and I love the way you have avoided to address about your partner. Instead of saying he or she. you say you have found "...a partner, and they was..."  :D
Just mess with you!

agent47

*
#18
7 years ago
You guys have come a long way in a very short period of time! Well done. Keep up the great work!

hartiberlin

*
#19
7 years ago
Deutsche Wertarbeit ! ;) :D

roly

*
#20
6 years ago
hello,

just join portamx . Very interesting to hear how far portamx have grown over the years..


* Shouts

Feline
a year ago
Today we update our Forum to the Version 1.45
Feline
a year ago
Today we update our Forum to Version 1.4
This release is full compatible with the EU GDPR
Feline
a year ago
Update for PortaMx 1.54 ecl released.
With this updates the Portal works with PHP 7.x and SMF 2.0.15
Feline
a year ago
PortaMx Forum 1.3
released !

*
Feline
a year ago
Today we switched to PHP 7.2 and activate Opcode caching.
Fast .. Very fast *
Feline
2 years ago
Today we upgrade our old SMF 2.0 Forum to PortaMx Forum *

* Calendar

Su
Mo
Tu
We
Th
Fr
Sa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31